#P1011. 平衡树

平衡树

题目描述

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

1.1.插入一个数xx

2.2.删除一个数xx(若有多个相同的数,应只删除一个)。

3.3.定义排名为比当前数小的数的个数+1+1。查询 xx的排名。

4.4.查询数据结构中排名为xx的数。

5.5.xx的前驱(前驱定义为小于xx,且最大的数)。

6.6.xx的后继(后继定义为大于xx,且最小的数)。

对于操作3,5,63,5,6不保证当前数据结构中存在数xx

输入

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

下面nn行每行有两个数xxyyxx表示操作的序号。

输出

对于操作3,4,5,63,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

数据范围

1<n1051<n\le10^5

x107|x|\le10^7