AT_abc278_d [ABC278D] All Assign Point Add
Description
[problemUrl]: https://atcoder.jp/contests/abc278/tasks/abc278_d
長さ $N$ の数列 $A=(A_1,A_2,\dots ,A_N )$ が与えられます。
$Q$ 個のクエリが与えられるので、順番にすべて処理してください。 $q$ 番目 $(1\le q\le Q$) のクエリは以下の $3$ つのいずれかの形式で、それぞれ次のようなクエリを表します。
- $1\text{ } x_q$ : $A$ のすべての要素に $x_q$ を代入する。
- $2\text{ }i_q \text{ }x_q$ : $A_{i_q}$に $x_q$ を加える。
- $3\text{ }i_q $ : $A_{i_q}$ の値を出力する。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ A_1 $ $ A_2 $ $ \dots $ $ A_N $ $ Q $ $ \operatorname{query}_1 $ $ \operatorname{query}_2 $ $ \vdots $ $ \operatorname{query}_Q $
ただし、$ \operatorname{query}_q $ は $ q $ 番目のクエリであり、`1 x`, `2 i x`, `3 i` の形式のいずれかで与えられる。
Output Format
$ \operatorname{query}_q $ が $ 3 $ 番目の形式であるような $ q\ (1\leq\ q\leq\ Q) $ の個数を $ X $ として、$ X $ 行出力せよ。 $ j\ (1\leq\ j\leq\ X) $ 行目にはそのようなクエリのうち $ j $ 番目のクエリに対する答えを出力せよ。
Explanation/Hint
### 制約
- $ 1\ \leq\ N\ \leq\ 2\times10^5 $
- $ 1\ \leq\ Q\ \leq\ 2\times10^5 $
- $ 0\ \leq\ A\ _\ i\ \leq\ 10^9\ (1\leq\ i\leq\ N) $
- $ q $ 番目 $ (1\leq\ q\leq\ Q) $ のクエリが $ 2 $ 番目もしくは $ 3 $ 番目の形式のとき、$ 1\ \leq\ i\ _\ q\ \leq\ N $
- $ q $ 番目 $ (1\leq\ q\leq\ Q) $ のクエリが $ 1 $ 番目もしくは $ 2 $ 番目の形式のとき、$ 0\ \leq\ x\ _\ q\ \leq\ 10^9 $
- $ 3 $ 番目の形式のクエリが存在する
- 入力される値はすべて整数
### Sample Explanation 1
はじめ、$ A=(3,1,4,1,5) $ です。 それぞれのクエリでは、以下のような処理が行われます。 - $ A_2=1 $ なので、$ 1 $ を出力します。 - $ A_3 $ に $ 4 $ を加えます。$ A=(3,1,8,1,5) $ となります。 - $ A_3=8 $ なので、$ 8 $ を出力します。 - $ A $ の要素すべてに $ 1 $ を代入します。$ A=(1,1,1,1,1) $ となります。 - $ A_3 $ に $ 4 $ を加えます。$ A=(1,1,5,1,1) $ となります。 - $ A_3=5 $ なので、$ 5 $ を出力します。
### Sample Explanation 2
$ A $ の要素の値が $ 32\operatorname{bit} $ 整数に収まらない可能性があることに注意してください。