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