問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
整数 N, K と、 長さ N の配列 A = [A_1, A_2, ..., A_N] および K 個のクエリ Q が与えられます。
クエリは 以下の 2 種類存在し、 1 行に 1 つ与えられます。
- 0 L R: range_maxクエリ。L 項目から R 項目までの中で最も大きい要素の値を出力する。
- 1 X Y: updateクエリ。X 番目の要素を Y で更新する。
入力は以下のフォーマットで与えられます。
N K
A_1
A_2
.
.
.
A_N
Q_1
Q_2
.
.
.
Q_K
* 1 行目では、配列 A の要素数 N および、クエリの個数 K が与えられます。
* 続く N 行では、配列 A の要素が先頭から順に与えられます。
* 続く K 行では、いずれかのクエリが 1 行に 1 つ与えられます。
各range_maxクエリについて、配列 A の L 番目から R 番目までの要素のうち最小であるものの値を出力してください。
出力の最後は改行し、余計な文字、空行を含んではいけません。
* 2 ≦ N ≦ 10000
* 1 ≦ K ≦ 100000
* 1 ≦ L < R ≦ N
* 1 ≦ X ≦ N
* -100000 ≦ A_i, Y ≦ 100000
* 入力は合計で N + K + 1 行からなり、入力値最終行の末尾に改行が 1 つ入ります。
10 3
35602
90985
-6848
8751
-21572
67956
41526
15660
-42275
7240
1 5 -45364
0 4 5
0 3 6
8751
67956
30 5
71974
44014
54134
74608
-86856
97453
-40458
59638
50414
82901
-84714
97339
-61555
75827
-10095
65315
74039
82911
-3695
-48303
-89176
12669
27946
18908
-96270
65403
-80046
32101
-44221
93227
0 21 29
1 1 -68652
0 21 28
1 28 -47671
0 19 24
65403
65403
27946