[ABC078C] HSI
题意翻译
高桥君在参加一场编程竞赛,在一道题中,他TLE了,且这道题的输出是Yes或No。
查看了提交的详细信息后,发现每次都有$n$个测试点,其中有$m$个TLE了。
因此,高桥君在$1900$毫秒内,以二分之一的正确率AC那$m$个TLE的点,然后用剩下的$100$毫秒AC剩下的$n-m$个点。
操作顺序如下:
- 提交自己的代码。
- 等待评测机出结果。
- 如果$m$个点没有全部AC,就再交一次。
- 直到全部AC为止。
求操作结束后,总时间$X$的期望值。
题目描述
[problemUrl]: https://atcoder.jp/contests/abc078/tasks/arc085_a
高橋くんはプログラミングコンテストに出ていますが, `YES` か `NO` で答える問題でTLEしてしまいました。
提出の詳細を見ると,テストケースは全てで $ N $ ケースあり,そのうち $ M $ ケースでTLEしていました。
そこで高橋くんは, $ M $ ケースではそれぞれ実行に $ 1900 $ ms かかって $ 1/2 $ の確率で正解し, 残りの $ N-M $ ケースではそれぞれ実行に $ 100 $ ms かかって必ず正解するプログラムへ書き換えました。
そして,以下の操作を行います。
- このプログラムを提出する。
- 全てのケースの実行が終わるまで待機する。
- もし $ M $ ケースのうちどれかで不正解だった場合,もう一度プログラムを提出する。
- これを,一度で全てのケースに正解するまで繰り返す。
この操作が終了するまでの,プログラムの実行時間の総和の期待値を $ X $ msとした時,$ X $ を出力してください。
なお,$ X $ は整数で出力してください。
输入输出格式
输入格式
入力は以下の形式で標準入力から与えられる。
> $ N $ $ M $
输出格式
実行時間の総和の期待値 $ X $ を整数で出力してください。 なお,$ X $ はこの問題の制約下で,$ 10^9 $ 以下の整数となることが証明できます。
输入输出样例
输入样例 #1
1 1
输出样例 #1
3800
输入样例 #2
10 2
输出样例 #2
18400
输入样例 #3
100 5
输出样例 #3
608000
说明
### 制約
- 入力は全て整数
- $ 1\ \leq\ N\ \leq\ 100 $
- $ 1\ \leq\ M\ \leq\ {\rm\ min}(N,\ 5) $
### Sample Explanation 1
この入力だとケースは $ 1 $ ケースだけであり,$ 1900 $ ms かかって $ 1/2 $ の確率で正解するプログラムを投げ続けます。 つまり $ 1 $ 回で正解する確率は $ 1/2 $, $ 2 $ 回で正解する確率は $ 1/4 $, $ 3 $ 回で正解する確率は $ 1/8 $ です。 よって答えは $ 1900\ \times\ 1/2\ +\ (2\ \times\ 1900)\ \times\ 1/4\ +\ (3\ \times\ 1900)\ \times\ 1/8\ +\ ...\ =\ 3800 $ です。
### Sample Explanation 2
$ 2 $ ケースで $ 1900 $ ms かかり,$ 10-2=8 $ ケースで $ 100 $ ms かかるプログラムを投げ続けます。 全てのケースで正解する確率は $ 1/2\ \times\ 1/2\ =\ 1/4 $ です。