#P0421. Cutting Woods

Cutting Woods

题目描述

我们有一根长度为 LL 米的木材。对于每个 x=1,2,,L1x = 1, 2, \ldots, L - 1,在距离木材左端 xx 米的位置有一个标记,称为标记 xx

给定 QQ 个查询,第 ii 个查询表示为一对数字 (ci,xi)(c_i, x_i)。按 ii 的升序处理查询,规则如下:

  • ci=1c_i = 1:在标记 xix_i 处将木材切割成两段。
  • ci=2c_i = 2:选择包含标记 xix_i 的那段木材,并输出其长度。

保证:对于所有查询(无论 ci=1c_i = 122),在处理时标记 xix_i 处均未被切割过。

输入格式

  • 第一行为 LLQQ
  • 接下来 QQ 行,每行两个整数 cic_ixix_i

输出格式

对于每个 ci=2c_i = 2 的查询,输出包含 xix_i 的木材段长度。

样例

5 3
2 2
1 3
2 2
5
3
5 3
1 2
1 4
2 3
2

提示

样例1解释

  • 初始木材长度为 5,标记 2 所在的段长度为 5。
  • 在标记 3 处切割后,标记 2 所在的段变为左段(长度 3)。

数据范围

  • 1L1091 \leq L \leq 10^9
  • 1Q2×1051 \leq Q \leq 2 \times 10^5
  • ci{1,2}(1iQ)c_i \in \{1, 2\} \quad (1 \leq i \leq Q)
  • 1xiL1(1iQ)1 \leq x_i \leq L - 1 \quad (1 \leq i \leq Q)
  • 唯一性保证:对于任意 ii,不存在 j<ij < i 使得 (cj,xj)=(1,xi)(c_j, x_j) = (1, x_i)(即每个标记最多被切割一次)。
  • 所有输入值为整数。