atcoder#ABC247D. [ABC247D] Cylinder

[ABC247D] Cylinder

配点 : 400400

問題文

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

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

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

制約

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

入力

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

QQ

query1{\rm query}_1

\vdots

queryQ{\rm query}_Q

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

11 xx cc

22 cc

出力

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

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

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