U551959 模拟堆
题目描述
维护一个集合,初始时集合为空,支持如下几种操作:
1. `I x`,插入一个数 $x$;
2. `PM`,输出当前集合中的最小值;
3. `DM`,删除当前集合中的最小值(数据保证此时的最小值唯一);
4. `D k`,删除第 $k$ 个插入的数;
5. `C k x`,修改第 $k$ 个插入的数,将其变为 $x$;
现在要进行 $N$ 次操作,对于所有第 $2$ 个操作,输出当前集合的最小值。
输入格式
第一行包含整数 $N$。
接下来 $N$ 行,每行包含一个操作指令,操作指令为 `I x`,`PM`,`DM`,`D k` 或 `C k x` 中的一种。
输出格式
对于每个输出指令 `PM`,输出一个结果,表示当前集合中的最小值。
每个结果占一行。
说明/提示
#### 数据范围
$1 \le N \le 10^5$
$-10^9 \le x \le 10^9$
数据保证合法。