atcoder#ARC085A. [ABC078C] HSI

[ABC078C] HSI

配点 : 300300

問題文

高橋くんはプログラミングコンテストに出ていますが, YESNO で答える問題でTLEしてしまいました。

提出の詳細を見ると,テストケースは全てで NN ケースあり,そのうち MM ケースでTLEしていました。

そこで高橋くんは, MM ケースではそれぞれ実行に 19001900 ms かかって 1/21/2 の確率で正解し, 残りの NMN-M ケースではそれぞれ実行に 100100 ms かかって必ず正解するプログラムへ書き換えました。

そして,以下の操作を行います。

  • このプログラムを提出する。
  • 全てのケースの実行が終わるまで待機する。
  • もし MM ケースのうちどれかで不正解だった場合,もう一度プログラムを提出する。
  • これを,一度で全てのケースに正解するまで繰り返す。

この操作が終了するまでの,プログラムの実行時間の総和の期待値を XX msとした時,XX を出力してください。

なお,XX は整数で出力してください。

制約

  • 入力は全て整数
  • 1N1001 \leq N \leq 100
  • 1Mmin(N,5)1 \leq M \leq {\rm min}(N, 5)

入力

入力は以下の形式で標準入力から与えられる。

NN MM

出力

実行時間の総和の期待値 XX を整数で出力してください。 なお,XX はこの問題の制約下で,10910^9 以下の整数となることが証明できます。

1 1
3800

この入力だとケースは 11 ケースだけであり,19001900 ms かかって 1/21/2 の確率で正解するプログラムを投げ続けます。

つまり 11 回で正解する確率は 1/21/2, 22 回で正解する確率は 1/41/4, 33 回で正解する確率は 1/81/8 です。

よって答えは $1900 \times 1/2 + (2 \times 1900) \times 1/4 + (3 \times 1900) \times 1/8 + ... = 3800$ です。

10 2
18400

22 ケースで 19001900 ms かかり,102=810-2=8 ケースで 100100 ms かかるプログラムを投げ続けます。 全てのケースで正解する確率は 1/2×1/2=1/41/2 \times 1/2 = 1/4 です。

100 5
608000