#p3382. 习题11.1.2 数列操作

习题11.1.2 数列操作

题目描述

还记得《入门篇》操作数组那道题么,又一道无聊的题目来了:

最初数列是空的,那么一共有下面五种操作:

  1. a x 表示向数列里面增加数值为x的数;

  2. d x 表示删除数列里面数值为x的数;

  3. I 表示删除数列里面数值最大的数;

  4. m 表示删除数列里面数值最小的数;

  5. q 询问当前数列的和。

保证添加的元素都不一样,对于删除操作,如果数列里面不存在这个元素,则不进行删除操作。

现在请用set来完成本题吧。

输入格式

第一行输入两个数n,表示操作的数目; 之后n行,每行为题目中描述的五种操作。

输出格式

对于每个询问,输出当前数列的和。

样例数据

input


11

a 1

d 2

q

a 2

a 3

a 4

q

I

q

m

q

output


1

10

6

5

样例解释


 a 1 增加1到数列里面

 d 2 删除数列里面数值为2的元素,因为数列里面没有,所以不进行操作

 q 询问,当前数列的和为1

 a 2 增加2到数列里面

 a 3 增加3到数列里面

 a 4 增加4到数列里面

 q 询问,当前数列的和为10

 I 删除数列里面数值最大的元素,删除4

 q 询问,当前数列的和为6

 m 删除数列里面数值最小的元素,删除1

 q 询问,当前数列的和为5



数据规模与约定

1<=n<=100000 1<=x<=1000000且x互不相同

时间限制:1s1 \text {s}

空间限制:256MB256 \text {MB}