3887: 维护全序集
内存限制:256 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:0
解决:0
题目描述
这是一道模板题,其数据比「普通平衡树」更强。
如未特别说明,以下所有数据均为整数。
维护一个多重集 $ S $ ,初始为空,有以下几种操作:
1. 把 $ x $ 加入 $ S $
2. 删除 $ S $ 中的一个 $ x $,保证删除的 $ x $ 一定存在
3. 求 $ S $ 中第 $ k $ 小
4. 求 $ S $ 中有多少个元素小于 $ x $
5. 求 $ S $ 中小于 $ x $ 的最大数
6. 求 $ S $ 中大于 $ x $ 的最小数
操作共 $ n $ 次。
输入
第一行一个整数 $ n $,表示共有 $ n $ 次操作 。
接下来 $ n $ 行,每行为以下几种格式之一 :
* `0 x`,把 $ x $ 加入 $ S $
* `1 x`,删除 $ S $ 中的一个 $ x $,保证删除的数在 $ S $ 中一定存在
* `2 k`,求 $ S $ 中第 $ k $ 小的数,保证要求的数在 $ S $ 中一定存在
* `3 x`,求 $ S $ 中有多少个数小于 $ x $
* `4 x`,求 $ S $ 中小于 $ x $ 的最大数,如果不存在,输出 $ -1 $
* `5 x`,求 $ S $ 中大于 $ x $ 的最小数,如果不存在,输出 $ -1 $
输出
对于每次询问,输出单独一行表示答案。
样例输入 复制
5
0 3
0 4
2 2
1 4
3 3
样例输出 复制
4
0
提示
数据范围:$ 1 \leq n \leq 3 \times 10 ^ 5, 0 \leq x \leq 10 ^ 9 $