#CF2000H. Ksyusha 与已加载集合
Ksyusha 与已加载集合
H. Ksyusha 与已加载集合
- 每个测试的时间限制: 秒
- 内存限制: 兆字节
Ksyusha 决定创办一家游戏开发公司。为了在竞争中脱颖而出并取得成功,她决定编写自己的游戏引擎。该引擎必须支持一个初始包含 个不同整数 的集合。
该集合将依次经历 个操作。操作类型包括:
- 向集合中插入元素 ;
- 从集合中删除元素 ;
- 查询集合的 -负载。
集合的 -负载 定义为最小的正整数 ,使得整数 都不出现在集合中。
例如,集合 的 -负载是 ,因为 都不在集合中,且没有更小的 满足条件。
Ksyusha 忙于管理工作,因此你需要来编写这个引擎。请高效地支持上述操作。
输入
第一行包含一个整数 ()—— 测试用例的数量。
接下来是各个测试用例的描述。
每个测试用例的第一行包含一个整数 ()—— 集合的初始大小。
第二行包含 个整数 ()—— 集合的初始状态。
第三行包含一个整数 ()—— 操作的数量。
接下来的 行包含操作,操作格式如下:
+ x()—— 向集合中插入元素 (保证 不在集合中);- x()—— 从集合中删除元素 (保证 在集合中);? k()—— 输出集合的 -负载。
保证所有测试用例的 之和不超过 , 之和也不超过 。
输出
对于每个测试用例,输出所有 ? 操作的结果。
示例
输入:
3
5
1 2 5 905 2000000
15
- 2
? 2
? 1
- 1
? 1
+ 4
+ 2
? 2
+ 6
- 4
+ 7
? 2
? 3
? 4
? 2000000
5
3 4 5 6 8
9
? 5
- 5
? 5
+ 1
? 2
- 6
- 8
+ 6
? 5
5
6 7 8 9 10
10
? 5
- 6
? 4
- 10
+ 5
- 8
+ 3
+ 2
- 3
+ 10
输出:
2 2 1 6 3 8 8 2000001
9 9 9 7
1 1