Skip to content

Latest commit

 

History

History

0253

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

题目

您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:

  1. 插入数值 $x$
  2. 删除数值 $x$(若有多个相同的数,应只删除一个)。
  3. 查询数值 $x$ 的排名(若有多个相同的数,应输出最小的排名)。
  4. 查询排名为 $x$ 的数值。
  5. 求数值 $x$ 的前驱(前驱定义为小于 $x$ 的最大的数)。
  6. 求数值 $x$ 的后继(后继定义为大于 $x$ 的最小的数)。

注意: 数据保证查询的结果一定存在。

输入格式

第一行为 $n$,表示操作的个数。

接下来 $n$ 行每行有两个数 $opt$$x$,$opt$ 表示操作的序号($1 \le opt \le 6$)。

输出格式

对于操作 $3,4,5,6$ 每行输出一个数,表示对应答案。

数据范围

$1 \le n \le 100000$,所有数均在 $-10^7$$10^7$ 内。

输入样例:

8
1 10
1 20
1 30
3 20
4 2
2 10
5 25
6 -1

输出样例:

2
20
20
20

题解