Problem1236--#107. 维护全序集

1236: #107. 维护全序集

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

这是一道模板题,其数据比「普通平衡树」更强。
如未特别说明,以下所有数据均为整数。
维护一个多重集 $S$,初始为空,有以下几种操作:
  1. 把 $x$ 加入 $S$
  2. 删除 $S$ 中的一个 $x$,保证删除的 $x$ 一定存在
  3. 求 $S$ 中第 $k$ 小
  4. 求 $S$ 中有多少个元素小于 $x$
  5. 求 $S$ 中小于 $x$ 的最大数
  6. 求 $S$ 中大于 $x$ 的最小数
操作共 $n$ 次。

Input

第一行一个整数 $n$,表示共有 $n$ 次操作 。
接下来 $n$ 行,每行为以下几种格式之一 :
  • ${0\ x}$,把 $x$ 加入 $S$
  • ${1\ x}$,删除 $S$ 中的一个 $x$,保证删除的数在 $S$ 中一定存在
  • ${2\ k}$,求 $S$ 中第 $k$ 小的数,保证要求的数在 $S$ 中一定存在
  • ${3\ x}$,求 $S$ 中有多少个数小于 $x$
  • ${4\ x}$,求 $S$ 中小于 $x$ 的最大数,如果不存在,输出 $-1$
  • ${5\ x}$,求 $S$ 中大于 $x$ 的最小数,如果不存在,输出 $-1$

Output

对于每次询问,输出单独一行表示答案。

Constraints

$1≤n≤3×10^5,\ 0≤x≤10^9$

Sample 1 Input

5
0 3
0 4
2 2
1 4
3 3

Sample 1 Output

4
0

Source/Category