#107. 维护全序集

内存限制:256 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: 匿名

题目描述

这是一道模板题,其数据比「普通平衡树」更强。

如未特别说明,以下所有数据均为整数。

维护一个多重集   ,初始为空,有以下几种操作:

1. 把  加入  2. 删除  中的一个  ,保证删除的  一定存在 3. 求  中第  小 4. 求  中有多少个元素小于  5. 求  中小于  的最大数 6. 求  中大于  的最小数

操作共  次。

输入格式

第一行一个整数  n ,表示共有  n  次操作 。

接下来  n  行,每行为以下几种格式之一 :

  • 0 x,把  x  加入  S
  • 1 x,删除  S  中的一个  x ,保证删除的数在  S  中一定存在
  • 2 k,求  中第   小的数,保证要求的数在  S  中一定存在
  • 3 x,求  中有多少个数小于 
  • 4 x,求  中小于  的最大数,如果不存在,输出  -1 
  • 5 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