#4343. 最大值-最小值查询(Max-Min Query)
最大值-最小值查询(Max-Min Query)
题目描述
我们有一个整数的多重集,最初为空。给定个查询,按顺序处理它们。每个查询是以下三种类型之一:
-
1 x
:将插入中。 -
2 x c
:从中移除个,其中(, 中的数量)。 -
3
:输出(的最大值) - (的最小值)。保证执行此查询时非空。
输入格式
输入从标准输入中给出,格式如下:
表示第个查询,格式为以下之一:
1 x
2 x c
3
输出格式
对于每个类型的查询,按顺序输出结果,每个结果占一行。
样例
8
1 3
1 2
3
1 2
1 7
3
2 2 3
3
1
5
4
4
1 10000
1 1000
2 100 3
1 10
1
样例解释
【样例1说明】
多重集的变化过程如下:
-
插入3,S = {3}
-
插入2,S = {2, 3}
-
输出3 - 2 = 1
-
插入2,S = {2, 2, 3}
-
插入7,S = {2, 2, 3, 7}
-
输出7 - 2 = 5
-
移除两个2,S = {3, 7}
-
输出7 - 3 = 4
【样例2说明】
如果给定的查询不包含类型,则不应输出任何内容。
数据范围
当给出类型的查询时,非空。
所有输入值都是整数
来源
- AtCoder ABC253C