atcoder#ARC085A. [ABC078C] HSI

[ABC078C] HSI

题目描述

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

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

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

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

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

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

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

输入格式

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

N N M M

输出格式

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

题目大意

高桥君在参加一场编程竞赛,在一道题中,他TLE了,且这道题的输出是Yes或No。

查看了提交的详细信息后,发现每次都有nn个测试点,其中有mm个TLE了。

因此,高桥君在19001900毫秒内,以二分之一的正确率AC那mm个TLE的点,然后用剩下的100100毫秒AC剩下的nmn-m个点。

操作顺序如下:

  • 提交自己的代码。
  • 等待评测机出结果。
  • 如果mm个点没有全部AC,就再交一次。
  • 直到全部AC为止。

求操作结束后,总时间XX的期望值。

1 1
3800
10 2
18400
100 5
608000

提示

制約

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

Sample Explanation 1

この入力だとケースは 1 1 ケースだけであり,1900 1900 ms かかって 1/2 1/2 の確率で正解するプログラムを投げ続けます。 つまり 1 1 回で正解する確率は 1/2 1/2 , 2 2 回で正解する確率は 1/4 1/4 , 3 3 回で正解する確率は 1/8 1/8 です。 よって答えは $ 1900\ \times\ 1/2\ +\ (2\ \times\ 1900)\ \times\ 1/4\ +\ (3\ \times\ 1900)\ \times\ 1/8\ +\ ...\ =\ 3800 $ です。

Sample Explanation 2

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