题目 30036

有序集合

查看题解 ↗GitHub ↗如何评测
题号
30036
时间限制
10000 ms
内存限制
1024 MB
标签
数据结构
来源
Library Checker (yosupo06) - ordered_set

【题目描述】

给定一个由非负整数组成的集合 S={a0,…,aN−1}S = \lbrace a_0, \ldots, a_{N-1} \rbrace。请处理以下 QQ 个查询:

  • 0 xx:若 x∉Sx \notin S,将 xx 插入 SS;若 x∈Sx \in S,不做任何操作。
  • 1 xx:若 x∈Sx \in S,将 xx 从 SS 中删除;若 x∉Sx \notin S,不做任何操作。
  • 2 xx:按升序输出 SS 中第 xx 小的元素。若 ∣S∣<x|S| < x,输出 −1-1。
  • 3 xx:输出 SS 中小于等于 xx 的元素个数。
  • 4 xx:输出 SS 中小于等于 xx 的最大元素(若不存在这样的元素则输出 −1-1)。
  • 5 xx:输出 SS 中大于等于 xx 的最小元素(若不存在这样的元素则输出 −1-1)。

【输入】

文本
$N$ $Q$
$a_0$ $\cdots$ $a_{N-1}$
$t$ $x$
$\vdots$
$t$ $x$

【输出】

对每个需要输出答案的查询(类型 2、3、4、5),输出一行一个整数,即该查询的答案。

【输入样例】

文本
3 17
10 20 30
2 1
2 2
2 3
3 19
3 20
3 21
4 19
4 20
4 21
0 0
2 1
0 0
2 1
1 0
2 1
1 0
2 1

【输出样例】

文本
10
20
30
1
2
2
10
20
20
0
0
10
10

【输入样例2】

文本
0 4

2 1
3 1
4 1
5 1

【输出样例2】

文本
-1
0
-1
-1

【数据范围】

  • 0≤N≤5000000 \leq N \leq 500000
  • 1≤Q≤5000001 \leq Q \leq 500000
  • 0≤a0<⋯<aN−1≤10000000000 \leq a _ 0 < \cdots < a _ {N-1} \leq 1000000000
  • 0≤x≤10000000000\leq x \leq 1000000000
  • 若 t=2t = 2,则 1≤x1\leq x

【来源】

Library Checker(yosupo06) ordered_set

数据下载

题目 30036 的公开数据

正在读取文件列表…

常用命令

题目 30036 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。