問題
くじを $ N $ 回引き、$i$ 回目の結果は $ A_i $ でした。
$ A_i = 1 $ のときアタリ、$ A_i = 1 $ のときハズレを意味します。
$L$ 回目から $R$ 回目までの中では、アタリとハズレのどちらが多いか?という形式の質問が $Q$ 個与えられるので、それぞれの質問に答えて下さい。
解き方・ソースコード
この問題は、アタリとハズレの累積和を求めることで、より少ない計算量で解くことができます。
くじを引いた回数ごとのアタリとハズレの累積回数を比較し、アタリが多い場合は“勝ち”、ハズレが多い場合は“負け”、アタリとハズレの回数が同じ場合は“引き分け”を出力します。
[Google Colaboratory]
1 | #-------- 入力例1 --------- |
[実行結果(入力例1)]
くじの全結果 [1, 1, 1, 1, 1, 1, 0, 0, 0, 0] 1回目~4回目の結果 [1, 1, 1, 1] => 勝ち 3回目~10回目の結果 [1, 1, 1, 1, 0, 0, 0, 0] => 引き分け 8回目~9回目の結果 [0, 0] => 負け 3回目~4回目の結果 [1, 1] => 勝ち 6回目~9回目の結果 [1, 0, 0, 0] => 負け
くじを引いた回数の範囲に応じて、勝ち負けを判定することができました。