atcoder#ABC247D. [ABC247D] Cylinder

[ABC247D] Cylinder

题目描述

空の筒があります。Q Q 個のクエリが与えられるので順に処理してください。
クエリは次の 2 2 種類のいずれかです。

  • 1 x c:数 x x が書かれたボールを筒の右側から c c 個入れる
  • 2 c:筒の左側からボールを c c 個取り出し、取り出したボールに書かれている数の合計を出力する

なお、筒の中でボールの順序が入れ替わることはないものとします。

输入格式

入力は以下の形式で標準入力から与えられる。

Q Q  query1 {\rm\ query}_1 \vdots  queryQ {\rm\ query}_Q

i i 番目のクエリを表す  queryi {\rm\ query}_i は以下の 2 2 種類のいずれかである。

1 1 x x c c

2 2 c c

输出格式

2 c のクエリに対する答えを順に改行区切りで出力せよ。

题目大意

您获得了一个队列,有 QQ 次操作,每次操作有以下两种可能:

1 x c:代表将 cc 个数字 xx 弹进队列。

2 c:代表弹出队列前 cc 个数,并输出所有弹出的数的和。

你需要在每次第二种操作后输出正确的答案。保证在进行第二种操作时队列中至少有 cc 个数。

1Q2×1051 \leq Q \leq 2 \times 10^50x1090 \leq x \leq 10^91c1091 \leq c \leq 10^9

4
1 2 3
2 2
1 3 4
2 3
4
8
2
1 1000000000 1000000000
2 1000000000
1000000000000000000
5
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1

提示

制約

  • 1  Q  2× 105 1\ \leq\ Q\ \leq\ 2\times\ 10^5
  • 0  x  109 0\ \leq\ x\ \leq\ 10^9
  • 1  c  109 1\ \leq\ c\ \leq\ 10^9
  • 2 c のクエリが与えられるとき、筒の中には c c 個以上のボールがある
  • 入力に含まれる値は全て整数である

Sample Explanation 1

- 1 1 番目のクエリでは、2 2 が書かれたボールを筒の右側から 3 3 個入れます。 筒の中のボールに書かれた数は左から順に (2,2,2) (2,2,2) となります。 - 2 2 番目のクエリでは、筒の左側からボールを 2 2 個取り出します。 取り出されたボールに書かれている数はそれぞれ 2,2 2,2 であり、合計は 4 4 であるため、これを出力します。 筒の中のボールに書かれた数は左から順に (2) (2) となります。 - 3 3 番目のクエリでは、3 3 が書かれたボールを筒の右側から 4 4 個入れます。 筒の中のボールに書かれた数は左から順に (2,3,3,3,3) (2,3,3,3,3) となります。 - 4 4 番目のクエリでは、筒の左側からボールを 3 3 個取り出します。 取り出されたボールに書かれている数はそれぞれ 2,3,3 2,3,3 であり、合計は 8 8 であるため、これを出力します。 筒の中のボールに書かれた数は左から順に (3,3) (3,3) となります。

Sample Explanation 3

出力するものがないこともあります。