atcoder#ABC283B. [ABC283B] First Query Problem

[ABC283B] First Query Problem

配点 : 200200

問題文

整数 NN と長さ NN の数列 A=(A1,A2,,AN)A=(A _ 1,A _ 2,\ldots,A _ N) が与えられます。

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

  • 1 k x : AkA _ k の値を xx に変更する。
  • 2 k : AkA _ k の値を出力する。

制約

  • 1N1051 \leq N \leq 10 ^ 5
  • 1Q1051 \leq Q \leq 10 ^ 5
  • 0Ai109 (1iN)0 \leq A _ i \leq 10 ^ 9\ (1\leq i\leq N)
  • どのクエリについても、1kN1\leq k\leq N
  • 11 番目の形式のクエリについて、0x1090\leq x\leq 10 ^ 9
  • 22 番目の形式のクエリが 11 つ以上存在する
  • 入力はすべて整数

入力

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

NN

A1A _ 1 A2A _ 2 \ldots ANA _ N

QQ

query1\operatorname{query} _ 1

query2\operatorname{query} _ 2

\vdots

queryQ\operatorname{query} _ Q

ただし、queryi\operatorname{query} _ iii 個目のクエリを表しており、次の形式のいずれかで与えられる。

11 kk xx

22 kk

出力

22 番目の形式のクエリの回数を qq 回として qq 行出力せよ。 j (1jq)j\ (1\leq j\leq q) 行目には、22 番目の形式のクエリのうち jj 個目のものに対する答えを出力せよ。

3
1 3 5
7
2 2
2 3
1 3 0
2 3
1 2 8
2 2
2 1
3
5
0
8
1

はじめ、A=(1,3,5)A=(1,3,5) です。

  • 11 つめのクエリにおいて、A=(1,3,5)A=(1,3,5) です。A2=3A _ 2=3 なので、33 を出力します。
  • 22 つめのクエリにおいて、A=(1,3,5)A=(1,3,5) です。A3=5A _ 3=5 なので、55 を出力します。
  • 33 つめのクエリでは、A3A _ 3 の値を 00 に変更し、A=(1,3,0)A=(1,3,0) となります。
  • 44 つめのクエリにおいて、A=(1,3,0)A=(1,3,0) です。A3=0A _ 3=0 なので、00 を出力します。
  • 55 つめのクエリでは、A2A _ 2 の値を 88 に変更し、A=(1,8,0)A=(1,8,0) となります。
  • 66 つめのクエリにおいて、A=(1,8,0)A=(1,8,0) です。A2=8A _ 2=8 なので、88 を出力します。
  • 77 つめのクエリにおいて、A=(1,8,0)A=(1,8,0) です。A1=1A _ 1=1 なので、11 を出力します。
5
22 2 16 7 30
10
1 4 0
1 5 0
2 2
2 3
2 4
2 5
1 4 100
1 5 100
2 3
2 4
2
16
0
0
16
100
7
478 369 466 343 541 42 165
20
2 1
1 7 729
1 6 61
1 6 838
1 3 319
1 4 317
2 4
1 1 673
1 3 176
1 5 250
1 1 468
2 6
1 7 478
1 5 595
2 6
1 6 599
1 6 505
2 3
2 5
2 1
478
317
838
838
176
595
468