CF2000H Ksyusha and the Loaded Set

题目描述

Ksyusha 决定创办一家游戏开发公司。为了在竞争中脱颖而出并取得成功,她决定编写一个属于自己的游戏引擎。这个引擎需要支持一个初始包含 $n$ 个不同整数 $a_1, a_2, \ldots, a_n$ 的集合。 接下来,这个集合将依次进行 $m$ 次操作。可进行的操作类型如下: - 向集合中插入一个元素 $x$; - 从集合中移除一个元素 $x$; - 查询集合的 $k$-负载。 集合的 $k$-负载定义为最小的正整数 $d$,使得整数 $d, d + 1, \ldots, d + (k - 1)$ 全都不在这个集合中。例如,集合 $\{3, 4, 6, 11\}$ 的 $3$-负载是 $7$,因为数字 $7, 8, 9$ 不在集合里,并且没有更小的值满足这个条件。 由于 Ksyusha 忙于管理工作,所以需要你来帮忙实现这个引擎的操作支持。

输入格式

第一行输入一个整数 $t$($1 \le t \le 10^4$),表示有 $t$ 组测试用例。 接下来的行描述每个测试用例。 每个测试用例的第一行输入一个整数 $n$($1 \le n \le 2 \cdot 10^5$),表示集合的初始大小。 接着一行输入 $n$ 个严格递增的整数 $a_1, a_2, \ldots, a_n$($1 \le a_1 < a_2 < \ldots < a_n \le 2 \cdot 10^6$),表示集合的初始状态。 然后一行输入一个整数 $m$($1 \le m \le 2 \cdot 10^5$),表示操作的数量。 接下来的 $m$ 行描述这些操作,格式如下: - `+ x`(插入元素 $x$,$1 \le x \le 2 \cdot 10^6$,保证 $x$ 不在集合中); - `- x`(删除元素 $x$,$1 \le x \le 2 \cdot 10^6$,保证 $x$ 在集合中); - `? k`(查询 $k$-负载,$1 \le k \le 2 \cdot 10^6$)。 保证所有测试用例中 $n$ 的总和不超过 $2 \cdot 10^5$,$m$ 的总和也不超过 $2 \cdot 10^5$。

输出格式

对于每个测试用例,输出所有 `?` 类型操作的答案。 **本翻译由 AI 自动生成**