#3436. Querying Multiset
0
Querying Multiset
Querying Multiset
题目描述
Takahashi 有许多空白的球和一个袋子。 最初,袋子是空的。Takahashi 将执行 次操作,每次操作是以下三种类型之一。
类型 :在一个空白球上写下整数 并将其放入袋子。 类型 :对于袋子中的每个球,将其上写的整数替换为该整数加上 。 类型 :取出袋子中写有最小整数的球(如果有多个这样的球,取出其中任意一个)。记录写在该球上的整数并将其丢弃。
对于每个 ,给出第 次操作的类型 ,以及如果该操作是类型 或 时的值 。按顺序输出在类型 的操作中记录下的整数。
输入格式
输入从标准输入按以下格式给出: :
第 行到第 query_i$ 的格式为:
每行的第一个数字为 ,表示操作的类型。 如果 或 ,则之后有一个空格,随后是 。
输出格式
对于这 次操作中每个 操作,单独一行打印记录下的整数。
5
1 3
1 5
3
2 2
3
3
7
6
1 1000000000
2 1000000000
2 1000000000
2 1000000000
2 1000000000
3
5000000000
提示
输入中的所有值均为整数。 存在一个或多个 使得 。 如果 ,则在第 次操作之前袋子中至少有一个球。Takahashi 将执行以下操作。
在一个球上写下 并把它放入袋子。 在一个球上写下 并把它放入袋子。 袋子现在包含一个写有 的球和另一个写有 的球。取出较小的那个,即 。记录 并将其丢弃。 袋子现在只剩下一个写有 的球。将该整数替换为 。 袋子现在只剩下一个写有 的球。取出该球,记录 ,并将其丢弃。
因此,我们应该按记录的顺序打印 和 。
注意输出可能超出 32 位整数的范围。
标签: AtCoder|abc212D
来源
AtCoder|abc212D