传统题 1000ms 256MiB

可用频点

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题意:

起初没有可用频点。依次处理以下操作:

  • ADD x:将编号为 xx 的频点设为可用。它已经可用时,不产生额外副本。
  • DEL x:将编号为 xx 的频点设为不可用。它原本不可用时,不发生变化。
  • ASK x:在当前所有编号不小于 xx 的可用频点中,输出编号最小的一个。如果不存在,输出 −1-1。

询问不会改变任何频点的可用状态。

输入格式:

第一行一个整数 qq(1≤q≤2×1051 \le q \le 2\times10^5),表示操作次数。

接下来 qq 行,每行给出操作名称和一个整数 xx(0≤x≤1090 \le x \le 10^9),操作名称为 ADD、DEL 或 ASK。

输出格式:

对每条 ASK 操作输出一行结果。其他操作不产生输出;没有询问时不输出内容。

样例:

样例输入:

12
ADD 8
ADD 3
ADD 8
ASK 4
DEL 8
ASK 4
DEL 8
ADD 4
ASK 4
ASK 9
ADD 1
ASK 0

样例输出:

8
-1
4
-1
1

样例解释:

重复加入频点 88 不会产生第二份记录,因此一次删除后,频点 88 就不再可用。询问恰好可用的编号 44 时,答案就是 44。

C++ Programming Practice Round 2

未参加
状态
已结束
规则
XCPC
题目
10
开始于
2026-10-18 0:00
结束于
2026-10-25 0:00
持续时间
168 小时
主持人
参赛人数
6