AT_abc217_d [ABC217D] Cutting Woods

Description

[problemUrl]: https://atcoder.jp/contests/abc217/tasks/abc217_d 長さ $ L $ メートルの直線状の木材があります。 $ x\ =\ 1,\ 2,\ \dots,\ L\ -\ 1 $ に対して、木材の左端から $ x $ メートルの地点には目印として線 $ x $ が引かれています。 $ Q $ 個のクエリが与えられます。 $ i $ 番目のクエリは数の組 $ (c_i,\ x_i) $ によって表されます。 以下の説明に従ってクエリを $ i $ の昇順に処理してください。 - $ c_i\ =\ 1 $ のとき : 線 $ x_i $ がある地点で木材を $ 2 $ つに切る。 - $ c_i\ =\ 2 $ のとき : 線 $ x_i $ を含む木材を選び、その長さを出力する。 ただし $ c_i\ =\ 1,\ 2 $ の両方に対して、線 $ x_i $ はクエリを処理する時点で切られていないことが保証されます。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ L $ $ Q $ $ c_1 $ $ x_1 $ $ c_2 $ $ x_2 $ $ \vdots $ $ c_Q $ $ x_Q $

Output Format

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

Explanation/Hint

### 制約 - $ 1\ \leq\ L\ \leq\ 10^9 $ - $ 1\ \leq\ Q\ \leq\ 2\ \times\ 10^5 $ - $ c_i\ =\ 1,\ 2 $ $ (1\ \leq\ i\ \leq\ Q) $ - $ 1\ \leq\ x_i\ \leq\ L\ -\ 1 $ $ (1\ \leq\ i\ \leq\ Q) $ - 全ての $ i $ $ (1\ \leq\ i\ \leq\ Q) $ に対して次が成り立つ: $ 1\ \leq\ j\ \lt\ i $ かつ $ (c_j,x_j)\ =\ (1,\ x_i) $ を満たす $ j $ は存在しない。 - 入力は全て整数である。 ### Sample Explanation 1 $ 1 $ 番目のクエリ時点では木材は一度も切られていないので、線 $ 2 $ を含む木材の長さは $ 5 $ メートルです。よって $ 5 $ を出力します。 $ 2 $ 番目のクエリによって、木材は $ 3 $ メートルの木材と $ 2 $ メートルの木材に分割されます。 $ 3 $ 番目のクエリ時点では 線 $ 2 $ を含む木材の長さは $ 3 $ メートルなので、$ 3 $ を出力します。