#2114. 分裂

分裂

题目描述

翁老师给你一个长度为 LL 的序列。初始这个序列的所有元素分别是 1,2,3,,L1,2,3,\cdots,L

现在有 qq 次操作,分为以下两种。

  • 操作一:给定一个数字 xx,将 xx 所在的区间 [l,r][l,r] 分裂为 [l,x][l,x][x+1,r][x+1,r]
  • 操作二:给定一个数字 xx,你需要求出 xx 所在区间的长度。

具体可以参考样例解释。

输入格式

第一行输入两个整数 LLqq

接下来 qq 行每行输入两个整数,第一个整数代表操作类型,第二个整数代表 xx

输出格式

输出若干行,每行一个整数代表答案。

5 3
2 2
1 3
2 2
5
3
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

样例 1 解释

  • 在第一次查询时,还没有进行切割,因此包含数字 22 的区间就是 [1,5][1,5] 长度为 55
  • 在第二次操作中,在位置 33 切割。区间 [1,5][1,5] 被分成了 [1,3][1,3][4,5][4,5]
  • 在第三次查询时,包含数字 22 的区间是 [1,3][1,3] 区间长度是 33 因此输出了 33

提示

  • 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) 都成立:不存在 jj ,即 1j<i1 \leq j \lt i(cj,xj)=(1,xi)(c_j,x_j) = (1, x_i)
  • 所有输入值均为整数。