100 atcoder#ABC217D. [ABC217D] Cutting Woods

[ABC217D] Cutting Woods

配点 : 400400

問題文

長さ LL メートルの直線状の木材があります。 x=1,2,,L1x = 1, 2, \dots, L - 1 に対して、木材の左端から xx メートルの地点には目印として線 xx が引かれています。

QQ 個のクエリが与えられます。 ii 番目のクエリは数の組 (ci,xi)(c_i, x_i) によって表されます。 以下の説明に従ってクエリを ii の昇順に処理してください。

  • ci=1c_i = 1 のとき : 線 xix_i がある地点で木材を 22 つに切る。
  • ci=2c_i = 2 のとき : 線 xix_i を含む木材を選び、その長さを出力する。

ただし ci=1,2c_i = 1, 2 の両方に対して、線 xix_i はクエリを処理する時点で切られていないことが保証されます。

制約

  • 1L1091 \leq L \leq 10^9
  • 1Q2×1051 \leq Q \leq 2 \times 10^5
  • ci=1,2c_i = 1, 2 (1iQ)(1 \leq i \leq Q)
  • 1xiL11 \leq x_i \leq L - 1 (1iQ)(1 \leq i \leq Q)
  • 全ての ii (1iQ)(1 \leq i \leq Q) に対して次が成り立つ: 1j<i1 \leq j \lt i かつ (cj,xj)=(1,xi)(c_j,x_j) = (1, x_i) を満たす jj は存在しない。
  • 入力は全て整数である。

入力

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

LL QQ

c1c_1 x1x_1

c2c_2 x2x_2

\vdots

cQc_Q xQx_Q

出力

ci=2c_i = 2 を満たすクエリの回数と等しい行数だけ出力せよ。 jj 行目では jj 番目のそのようなクエリに対する答えを出力せよ。

5 3
2 2
1 3
2 2
5
3

11 番目のクエリ時点では木材は一度も切られていないので、線 22 を含む木材の長さは 55 メートルです。よって 55 を出力します。 22 番目のクエリによって、木材は 33 メートルの木材と 22 メートルの木材に分割されます。 33 番目のクエリ時点では 線 22 を含む木材の長さは 33 メートルなので、33 を出力します。

5 3
1 2
1 4
2 3
2
100 10
1 31
2 41
1 59
2 26
1 53
2 58
1 97
2 93
1 23
2 84
69
31
6
38
38