提高⏱ 1000ms💾 256MB#P8006

题目描述

维护一个初始为空的多重集合,支持 $q$ 次操作:插入 $x$、删除一个 $x$(保证存在)、查询 $x$ 的排名(严格小于 $x$ 的数的个数加一,保证 $x$ 存在)、查询第 $k$ 小的数、查询前驱(小于 $x$ 的最大数,保证存在)、查询后继(大于 $x$ 的最小数,保证存在)。

输入格式

第一行一个整数 $q$;接下来 $q$ 行,每行为 1 x2 x3 x4 k5 x6 x,含义如上。

输出格式

对每个查询操作(3/4/5/6)输出一行一个整数。

数据范围

$$1 \le q \le 2\times 10^5,\ |x| \le 10^9$$

样例输入 #1
8
1 5
1 3
3 5
4 1
5 5
6 5
2 3
4 1
样例输出 #1
3
5
3
0
5
样例输入 #2
10
1 2
1 2
1 4
3 2
4 3
2 2
3 2
5 4
6 2
4 2
样例输出 #2
1
4
1
2
4
4