#abc253c. [abc253_c]Max - Min Query
[abc253_c]Max - Min Query
题目描述
我们有一个初始为空的整数多重集 。
给定 个查询,请按照顺序处理它们。每个查询属于以下类型之一。
-
1 x
:将 插入到 中。 -
2 x c
:从 中删除 ,删除次数为 中包含的 的数量))$。 -
3
:输出 中的最大值减去最小值。保证在给定该查询时, 不为空。
约束条件
- 当提供类型为
3
的查询时, 不为空。 - 输入中的所有值都是整数。
输入格式
输入以标准输入形式给出,格式如下:
表示第 个查询,其格式如下:
输出格式
按给定顺序,以换行符分隔的形式输出类型为 3
的查询的答案。
示例输入 1
8
1 3
1 2
3
1 2
1 7
3
2 2 3
3
示例输出 1
1
5
4
多重集 的变化如下。
- 第一个查询:将 插入到 中。此时, 为 。
- 第二个查询:将 插入到 中。此时, 为 。
- 第三个查询: 中的最大值为 ,最小值为 ,因此输出 。
- 第四个查询:将 插入到 中。此时, 为 。
- 第五个查询:将 插入到 中。此时, 为 。
- 第六个查询: 中的最大值为 ,最小值为 ,因此输出 。
- 第七个查询:由于 中有两个 ,且 ,因此从 中删除 两次。此时, 为 。
- 第八个查询: 中的最大值为 ,最小值为 ,因此输出 。
示例输入 2
4
1 10000
1 1000
2 100 3
1 10
示例输出 2
如果给定的查询中不包含类型为 3
的查询,则不打印任何内容。