#P2030. 【数据结构】堆操作

【数据结构】堆操作

问题说明

给定一个数列,初始为空,请支持下面三种操作:
    给定一个整数 x,请将 x 加入到数列中。
    输出数列中最小的数。
    删除数列中最小的数(如果有多个数最小,只删除 1 个)。

输入格式

第一行是一个整数,表示操作的次数 n。
接下来 n 行,每行表示一次操作。每行首先有一个整数 op 表示操作类型。
若 op = 1,则后面有一个整数 x,表示要将 x 加入数列。
若 op = 2,则表示要求输出数列中的最小数。
若 op = 3,则表示删除数列中的最小数。如果有多个数最小,只删除 1 个。


输出格式

对于每个操作 2,输出一行一个整数表示答案。
5
1 2
1 5
2
3
2
2
5

提示

说明/提示
数据规模与约定
对于 30% 的数据,保证 n≤15。
对于 70% 的数据,保证 n≤10^4 。
对于 100% 的数据,保证1≤n≤10^5   1≤x<2^31   op∈{1,2,3}。

来源/分类

数据结构