Problem8910--堆排序操作

8910: 堆排序操作

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

Description

我们定义一个小顶堆,下标从 $1$ 开始
给 $q\ (1 \leq q \leq 10^6)$ 次操作,保证总插入数据不会超过 $2\times 10^5$,同时总输出的数据总量不会操作 $5 \times 10^6$。
下面对每个操作的定义:
1. insert x。表示数据 $x\ (-10^9 \leq x \leq 10^9)$ 插入到小顶堆。
2. top。打印小顶堆的堆顶。
3. remove k。将堆的第 $k$ 个数据删除。
4. display。按照下标递增,打印堆内所有元素。

Input

第一行包含整数 $q$,表示有 $q$ 次操作。
接下来 $q$ 行,每行是题目描述中操作。

Output

若干行,对 top 和 display 操作进行输出。

Sample 1 Input

45
insert 10
top
display
insert 5
top
display
insert 3
top
display
insert 2
top
display
insert 1
top
display
insert -7
top
display
insert 3
top
display
insert 120
top
display
insert 110
top
display
remove 1
top
display
remove 2
top
display
remove 1
top
display
remove 1
top
display
remove 1
top
display
remove 1
top
display

Sample 1 Output

10
10
5
5 10
3
3 10 5
2
2 3 5 10
1
1 2 5 10 3
-7
-7 2 1 10 3 5
-7
-7 2 1 10 3 5 3
-7
-7 2 1 10 3 5 3 120
-7
-7 2 1 10 3 5 3 120 110
1
1 2 3 10 3 5 110 120
1
1 3 3 10 120 5 110
3
3 10 3 110 120 5
3
3 10 5 110 120
5
5 10 120 110
10
10 110 120

Source/Category