atcoder#ARC082D. [ARC082F] Sandglass
[ARC082F] Sandglass
题目描述
パーツAとパーツBからなる砂時計があります。これらのパーツにはいくらかの砂が入っています。 砂時計を置くときはパーツAとパーツBのどちらかが上になり、そうでないほうが下になります。
秒間に [g] の砂が上にあるパーツから下にあるパーツに落ちます。 ただし、上のパーツにもう砂が残っていない場合は砂は落ちません。
はじめ時刻 にパーツAが上にあり、 [g] の砂がパーツAに入っていて、 [g] の砂がパーツBに入っています(すなわち、合計 [g] の砂が入っています)。
時刻 に砂時計をひっくり返します。この操作は瞬間的に行われ、時間はかからないものとします。なお、時刻 とは時刻 の 秒後を指します。
クエリが 個与えられます。 各クエリは の形をしています。 各クエリに対し、 だとして、時刻 にパーツAに入っている砂の量が何gか答えてください。
输入格式
入力は以下の形式で標準入力から与えられる。
..
输出格式
各クエリの答えを 行ごとに出力せよ。
题目大意
有一个沙漏,一部分称为A,另一部分称为B。每个部分都能装无限的沙子。
每秒会有1[g]沙子从上部分落入下部分,当然上部分已经没有沙子时不会有变化。
开始时A在上,装有a[g]沙子,B部分装有(X-a)[g]沙子,总计X[g]沙子。
在时间为r1,r2,..,rK时会反转沙漏,这个操作瞬间完成不花费时间。这里说明,时间t指的是时间为0后过了t秒。
给出Q个询问。每个询问的形式为(ti,ai)。对每个询问,回答当初始的a[g]沙子的a为ai时,时间为ti时A部分有几g沙子。
180
3
60 120 180
3
30 90
61 1
180 180
60
1
120
100
1
100000
4
0 100
90 100
100 100
101 100
100
10
0
0
100
5
48 141 231 314 425
7
0 19
50 98
143 30
231 55
342 0
365 100
600 10
19
52
91
10
58
42
100
提示
制約
- 入力値はすべて整数
Sample Explanation 1
つめのクエリでは、はじめパーツAに \[g\] 入っていた砂が \[g\] 減り、 \[g\] になります。 つめのクエリでは、はじめパーツAに入っていた \[g\] の砂がパーツBに落ちた後、 秒間変化は起こりません。ここで砂時計をひっくり返し、その 秒後にパーツAに入っている砂の量を聞かれているため、答えは \[g\] になります。
Sample Explanation 2
どのクエリでもはじめにパーツAに入っている砂は \[g\] で、砂時計をひっくり返す前の時間での値を聞いています。