atcoder#ABC292H. [ABC292Ex] Rating Estimator
[ABC292Ex] Rating Estimator
题目描述
あなたは 個のコンテストに参加します。コンテストが開催される順にコンテスト , コンテスト , コンテスト と呼びます。
各コンテストに参加すると、コンテストごとに パフォーマンス という値が与えられます。コンテスト で与えられるパフォーマンスを とします。
また、あなたは レーティング という値を持っています。レーティングはコンテストでのパフォーマンスによって変化する値です。コンテストに参加する前のレーティングの値は で、コンテスト に出た後のレーティングの値は に変化します。
ただし、あなたのレーティングが一度 以上 になると、それ以降はコンテストに参加してもレーティングは変動しなくなります。
あなたはコンテストに出る前に、それぞれのコンテストで得られるパフォーマンスを予測することにしました。はじめ、コンテスト のパフォーマンスの予測値を とします。クエリが 個与えられるので入力される順にすべて処理してください。
各クエリでは 2 個の整数 が与えられます。あなたは、まずコンテスト のパフォーマンスの予測値を に変更します。(この変更は永続的です。) そして、あなたが 個のコンテスト全てで現在の予測値通りのパフォーマンスを得られた場合の、全てのコンテストに参加した後のレーティングの値を答えてください。
输入格式
入力は以下の形式で標準入力から与えられる。ただし、 は 番目のクエリで与えられる を意味する。
输出格式
行出力せよ。 行目には 番目のクエリに対する答えを出力せよ。
なお、真の値との絶対誤差または相対誤差が 以下であれば正解として扱われる。
题目大意
你要参加 场比赛。
如果第 场比赛你的成绩为 ,那你的 rating 在第 场比赛后将会变为前 场比赛成绩的平均值,也就是。
不过,如果在某场比赛后,你的 rating 大于等于一个值 ,它以后将不会在变化。
你对你每场比赛的成绩做了估计,你估计第 场比赛你的成绩为 。
现在有 组询问,每组询问中给出两个数 和 ,表示将第 场比赛的成绩修改为 (注意这一操作在此后的询问中会被保留),输出修改之后,如果你每场比赛的真实成绩都与预估的一样,你在第 场比赛后的 rating。
5 6 7
5 1 9 3 8
4 9
2 10
1 0
3 0
3 30
5 100
1 100
6.000000000000000
7.500000000000000
6.333333333333333
5.400000000000000
13.333333333333334
13.333333333333334
100.000000000000000
提示
制約
- 入力される値はすべて整数
Sample Explanation 1
はじめ、$ (a_1,\ a_2,\ a_3,\ a_4,\ a_5)\ =\ (5,\ 1,\ 9,\ 3,\ 8) $ です。 1 番目のクエリによって が に変更されて $ (a_1,\ a_2,\ a_3,\ a_4,\ a_5)\ =\ (5,\ 1,\ 9,\ 9,\ 8) $ となります。 このとき、コンテスト でパフォーマンス を取った場合のあなたのレーティングの推移は次の通りです。 - はじめ、レーティングは です。 - コンテスト が終了した時点でレーティングは に変化します。 - コンテスト が終了した時点でレーティングは に変化します。 - コンテスト が終了した時点でレーティングは に変化します。 - コンテスト が終了した時点でレーティングは に変化します。 - 以降、レーティングの値は変化しません。なぜならば、 番目のコンテストが終了した時点でレーティングが 以上の値になっているからです。 よって、全てのコンテストが終了した時点でのレーティングは なので、1 行目にはこれを出力します。