问题 N: 模拟堆

问题 N: 模拟堆

时间限制: 1 Sec  内存限制: 128 MB
提交: 12  解决: 5
[提交][状态][讨论版][命题人:]

题目描述

维护一个集合,初始时集合为空,支持如下几种操作:

“I x”,插入一个数x;

“PM”,输出当前集合中的最小值;

“DM”,删除当前集合中的最小值(数据保证此时的最小值唯一);

“D k”,删除第k个插入的数;

“C k x”,修改第k个插入的数,将其变为x;

现在要进行N次操作,对于所有第2个操作,输出当前集合的最小值。

输入

第一行包含整数N。

接下来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

提示

1≤N≤105

−109≤x≤109

数据保证合法。

[提交][状态]