100 atcoder#ABC212D. [ABC212D] Querying Multiset
[ABC212D] Querying Multiset
题目描述
高橋君は何も書かれていないたくさんのボールと つの袋を持っています。 最初、袋は空で、高橋君は 回の操作を行います。 それぞれの操作は以下の 種類のうちのいずれかです。
- 操作 : まだ何も書かれていないボール つに整数 を書き込み、袋に入れる。
- 操作 : 袋に入っているすべてのボールについて、そこに書かれている数を、それに を加えたものに書き換える。
- 操作 : 袋に入っているボールのうち書かれている数が最小のもの(複数ある場合はそのうちの つ)を取り出し、そこに書かれている数を記録する。その後、そのボールを捨てる。
について 回目の操作の種類 および操作 , における の値が与えられるので、操作 において記録された数を順に出力してください。
输入格式
入力は以下の形式で標準入力から与えられる。
行目から 行目の各 は次のいずれかの形で与えられる。
まず、 が与えられる。これは操作の種類を表す。 または ならば、その後に空白区切りで が与えられる。
输出格式
回の操作のうち操作の種類が であるような各操作について、記録された数を改行区切りで出力せよ。
题目大意
给定一个集合和 次操作,每个操作可能是以下操作之一:
-
第一个操作给定整数 ,表示将 放入集合。
-
第二个操作给定整数 ,表示将集合的数分别加上 。
-
第三个操作将集合最小的数删除。
对于每个第三个操作,输出你删去的数。
保证 ,操作种类 ,。
5
1 3
1 5
3
2 2
3
3
7
6
1 1000000000
2 1000000000
2 1000000000
2 1000000000
2 1000000000
3
5000000000
提示
制約
- 入力は全て整数である。
- であるような が つ以上存在する。
- であるとき、 回目の操作の直前の時点で、袋には つ以上のボールが入っている。
Sample Explanation 1
高橋君は次のように操作を行います。 - の書かれたボールを袋に入れる。 - の書かれたボールを袋に入れる。 - 今、袋には の書かれたボールと の書かれたボールが入っているため、このうち小さい の書かれたボールを取り出し、 を記録した後に捨てる。 - 今、袋には の書かれたボールのみが入っているため、この数を に書き換える。 - 今、袋には の書かれたボールのみが入っているため、このボールを取り出し、 を記録した後に捨てる。 よって、記録された順に , を出力します。
Sample Explanation 2
答えが bit整数に収まらないことがある事に注意してください。