您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:
1、插入数值 x。
2、删除数值 x (若有多个相同的数,应只删除一个)。
3、查询数值 x 的排名(若有多个相同的数,应输出最小的排名)。
4、查询排名为 x 的数值。
5、求数值 x 的前驱(前驱定义为小于 x 的最大的数)。
6、求数值 x 的后继(后继定义为大于 x 的最小的数)。
注意: 数据保证查询的结果一定存在。
第一行为 n,表示操作的个数。
接下来 n 行每行有两个数 opt 和 x,opt 表示操作的序号(1≤opt≤6)。
对于操作 3,4,5,6 每行输出一个数,表示对应答案。
8 1 10 1 20 1 30 3 20 4 2 2 10 5 25 6 -1
2 20 20 20
1≤n≤100000 ,所有数均在 −10^7 到 10^7 内。