时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
HT 巨巨有个

个块(物理块)的磁盘,每个块只有被占用、空闲两种状态。我们赋予

个块

到

的编号,初始所有块都是空闲的。
对这个磁盘有两种操作:
- `1 x`,表示把第

个块的状态翻转,即如果当前被占用则释放,如果是空闲的则占用。
- `2 x`,表示询问占用

个块的文件最早可以安排在哪里。即找到编号最小的连续

块空闲,输出其左右端点的编号。如果不存在,输出

。
输入描述:
第一行有两个正整数
,其中
。
接下来
行,每行有两个正整数
,表示询问,其中
,
。
输出描述:
对于每个操作 2,分别用一行输出答案。如果答案存在,那么输出两个正整数
,表示这个区间的左右端点编号;如果不存在,输出
。
示例1
输入
复制
5 7
2 3
1 2
2 3
1 4
2 3
1 2
2 3