时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
给定一个长度为

整数序列
)
。假设我们可以把这些数字排成一行,从左到右编号分别为

,那么我们定义一个序列的

值为这个序列里没有出现的最小自然数。例如,对于数字集合

,它的

值为

。请你编写一个程序,支持以下两种操作:
1. 给定两个整数

,查询数组区间
![[l,r]](https://www.nowcoder.com/equation?tex=%5Bl%2Cr%5D)
中的

值。
2. 给定两个整数

,将

修改成

。保证完成修改操作后

。
输入描述:
第一行,两个整数
。
第二行,
个整数
。
接下来
行,每行一个询问。
第一类操作由三个整数描述
,你需要回答区间
的
值。
第二类操作由三个整数描述
。
输出描述:
每行对于每一个第一类询问输出答案。
示例1
输入
复制
5 5
0 1 2 3 4
1 1 5
1 3 4
2 1 5
1 1 5
1 3 4