200823: [AtCoder]ARC082 F - Sandglass

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Score : $700$ points

Problem Statement

We have a sandglass consisting of two bulbs, bulb A and bulb B. These bulbs contain some amount of sand. When we put the sandglass, either bulb $A$ or $B$ lies on top of the other and becomes the upper bulb. The other bulb becomes the lower bulb.

The sand drops from the upper bulb to the lower bulb at a rate of $1$ gram per second. When the upper bulb no longer contains any sand, nothing happens.

Initially at time $0$, bulb A is the upper bulb and contains $a$ grams of sand; bulb B contains $X-a$ grams of sand (for a total of $X$ grams).

We will turn over the sandglass at time $r_1,r_2,..,r_K$. Assume that this is an instantaneous action and takes no time. Here, time $t$ refer to the time $t$ seconds after time $0$.

You are given $Q$ queries. Each query is in the form of $(t_i,a_i)$. For each query, assume that $a=a_i$ and find the amount of sand that would be contained in bulb A at time $t_i$.

Constraints

  • $1≤X≤10^9$
  • $1≤K≤10^5$
  • $1≤r_1<r_2< .. <r_K≤10^9$
  • $1≤Q≤10^5$
  • $0≤t_1<t_2< .. <t_Q≤10^9$
  • $0≤a_i≤X (1≤i≤Q)$
  • All input values are integers.

Input

The input is given from Standard Input in the following format:

$X$
$K$
$r_1$ $r_2$ .. $r_K$
$Q$
$t_1$ $a_1$
$t_2$ $a_2$
$:$
$t_Q$ $a_Q$

Output

For each query, print the answer in its own line.


Sample Input 1

180
3
60 120 180
3
30 90
61 1
180 180

Sample Output 1

60
1
120

In the first query, $30$ out of the initial $90$ grams of sand will drop from bulb A, resulting in $60$ grams. In the second query, the initial $1$ gram of sand will drop from bulb A, and nothing will happen for the next $59$ seconds. Then, we will turn over the sandglass, and $1$ second after this, bulb $A$ contains $1$ gram of sand at the time in question.


Sample Input 2

100
1
100000
4
0 100
90 100
100 100
101 100

Sample Output 2

100
10
0
0

In every query, the upper bulb initially contains $100$ grams, and the question in time comes before we turn over the sandglass.


Sample Input 3

100
5
48 141 231 314 425
7
0 19
50 98
143 30
231 55
342 0
365 100
600 10

Sample Output 3

19
52
91
10
58
42
100

Input

题意翻译

有一个沙漏,一部分称为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沙子。

加入题单

算法标签: