#abc212d. [abc212_d]Querying Multiset
[abc212_d]Querying Multiset
题目描述
Takahashi 有很多没有写任何东西的球,还有一个袋子。初始时,袋子是空的。Takahashi 将进行 次操作,每个操作是以下三种类型之一。
- 类型 :在一个空白球上写一个整数 并将其放入袋子中。
- 类型 :对于袋子中的每个球,将其上写的整数替换为该整数加上 。
- 类型 :从袋子中拿起最小整数的球(如果有多个这样的球,则拿起其中之一)。记录在此球上写的整数并扔掉它。
对于每个 ,给出第 次操作的类型 ,如果操作是类型 或 ,则给出 的值。按顺序打印类型 的操作中记录的整数。
约束条件
- 输入中的所有值均为整数。
- 存在一个或多个 满足 。
- 如果 ,则在第 次操作之前,袋子中至少有一个球。
输入
输入格式如下:
第 行到第 行中的每个 格式如下:
每行中的第一个数字为 ,表示操作的类型。如果 或 ,则后面跟一个空格,然后是 。
输出
对于 个操作中的类型 ,按照记录的整数分别打印在一行上。
示例输入1
5
1 3
1 5
3
2 2
3
示例输出1
3
7
Takahashi 将执行以下操作。
- 在一个球上写 并将其放入袋子中。
- 在一个球上写 并将其放入袋子中。
- 现在袋子里有一个写着 的球和一个写着 的球。拿起其中较小的球,即 。记录 并扔掉它。
- 现在袋子中只有一个写着 的球。将此整数替换为 。
- 现在袋子中只有一个写着 的球。拿起这个球,记录 并扔掉它。
因此,我们应该按照记录顺序打印 和 。
示例输入2
6
1 1000000000
2 1000000000
2 1000000000
2 1000000000
2 1000000000
3
示例输出2
5000000000
注意,输出可能不适合 位整数。