AT_abc413_c [ABC413C] Large Queue
Description
空の整数列 $ A=() $ があります。クエリが $ Q $ 個与えられるので、与えられた順に処理してください。クエリは以下の $ 2 $ 種類です。
- タイプ $ 1 $ : `1 c x` の形式で与えられる。 $ A $ の末尾に $ x $ を $ c $ 個追加する。
- タイプ $ 2 $ : `2 k` の形式で与えられる。 $ A $ の先頭 $ k $ 要素を削除し、削除した $ k $ 個の整数の総和を出力する。このとき、 $ k $ はその時点での $ A $ の長さ以下であることが保証される。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ Q $ $ \text{query}_1 $ $ \text{query}_2 $ $ \vdots $ $ \text{query}_Q $
ただし、 $ \text{query}_i $ は $ i $ 個目のクエリを表し、以下のいずれかの形式である。
> $ 1 $ $ c $ $ x $
> $ 2 $ $ k $
Output Format
タイプ $ 2 $ のクエリの個数を $ q $ として、 $ q $ 行出力せよ。 $ i $ 行目には、 $ i $ 個目のタイプ $ 2 $ のクエリに対する答えを出力せよ。
Explanation/Hint
### Sample Explanation 1
- $ 1 $ 個目のクエリ: $ A $ の末尾に $ 3 $ を $ 2 $ 個追加する。このとき、 $ A=(3,3) $ となる。
- $ 2 $ 個目のクエリ: $ A $ の末尾に $ 5 $ を $ 4 $ 個追加する。このとき、 $ A=(3,3,5,5,5,5) $ となる。
- $ 3 $ 個目のクエリ: $ A $ の先頭 $ 3 $ 要素を削除する。このとき、削除した $ 3 $ 個の整数の総和は $ 3+3+5=11 $ となるため $ 11 $ と出力する。削除後、 $ A=(5,5,5) $ となる。
- $ 4 $ 個目のクエリ: $ A $ の末尾に $ 2 $ を $ 6 $ 個追加する。このとき、 $ A=(5,5,5,2,2,2,2,2,2) $ となる。
- $ 5 $ 個目のクエリ: $ A $ の先頭 $ 5 $ 要素を削除する。このとき、削除した $ 5 $ 個の整数の総和は $ 5+5+5+2+2=19 $ となるため $ 19 $ と出力する。削除後、 $ A=(2,2,2,2) $ となる。
### Constraints
- $ 1 \leq Q \leq 2 \times 10^{5} $
- タイプ $ 1 $ のクエリにおいて、 $ 1 \leq c \leq 10^{9} $
- タイプ $ 1 $ のクエリにおいて、 $ 1 \leq x \leq 10^{9} $
- タイプ $ 2 $ のクエリにおいて、その時点での $ A $ の長さを $ n $ として、 $ 1 \leq k \leq \min(10^{9},n) $
- 入力はすべて整数