アプリ版:「スタンプのみでお礼する」機能のリリースについて

下記のURLの問題をプログラムで解いてみているのですが、下記ページの入力例3と出力例3がうまくいきません。
できれば、転倒数を使わずにプログラムを立てたいのですが、どなたかヒントやアドバイスいただければ幸いです。
https://atcoder.jp/contests/arc101/tasks/arc101_b

立てた実際のプログラムは添付画像の通りです。

分岐で場合分けしていますが、中身は一緒じゃん、というご指摘は出来れば避けていただけると幸いです
よろしくお願いいたします。

「Python3プログラムについて」の質問画像

A 回答 (4件)

    • good
    • 1

いや、もっと簡単に書けるか。



これでいい。

修正例:
https://www.ideone.com/D2AgkW
    • good
    • 1

>できれば、転倒数を使わずにプログラムを立てたいのですが



転倒数とは何のことでしょうか。

現行のソースでは、
data_false=[5,6,7] のとき、
answerが7になります。
まず、これを修正することが必要です。
    • good
    • 1

1. 配列から中央値を計算する関数を作る


2. 空の配列 m を用意
3. for の二重ループで (l,r) のすべての組み合わせを作る
4. 個々の (l,r) で配列 a からスライスした結果を関数で計算し、中央値を配列 m に追加
5. 配列 m を関数で計算し中央値を出力

ご提示の内容を見ると、
1 まではほぼ出来ているようなので、2-5 を頑張りましょう

余分な指摘とは思いますが、
奇数偶数を問わず同じ式 ceil(M/2) で添え字が計算できるなら、場合分けは無用です
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!