请编写一种数据结构,来维护一些数,其中需要提供以下操作:
插入值为 x 的数
删除值为 x 的数(若有多个相同的数,因只删除一个)
查询值为 x 数的排名(排名定义为比当前数小的数的个数 +1 )
查询排名为 x 的数的值
求值为 x 的前驱(前驱定义为小于 x,且最大的数)
求值为 x 的后继(后继定义为大于 x,且最小的数)
第一行为 n,表示操作的个数;
下面 n 行每行有两个数 \text{opt} 和 x,\text{opt} 表示操作的序号( 1 \leq \text{opt} \leq 6 );
本题输入数据保证待查询的数据一定是存在的。
对于操作 3,4,5,6 每行输出一个数,表示对应答案。
10 1 106465 4 1 1 317721 1 460929 1 644985 1 84185 1 89851 6 81968 1 492737 5 493598
106465 84185 492737
数据范围
对于 100\% 的数据,1\le n \le 10^5,|x| \le 10^7。
tyvj