問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
整数 N, K と、 長さ N の配列 A = [A_1, A_2, ..., A_N] および K 個のクエリが与えられます。
1 つのクエリにつき、整数 L, R が与えられます。
各クエリについて、配列 A の L 番目から R 番目までの要素のうち最小であるものの値を出力してください。
入力は以下のフォーマットで与えられます。
N K
A_1
A_2
.
.
.
A_N
L_1 R_1
L_2 R_2
L_3 R_3
.
.
.
L_K R_K
* 1 行目では、配列 A の要素数 N および、クエリの個数 K が与えられます。
* 続く N 行では、配列 A の要素が先頭から順に与えられます。
* 続く K 行では、クエリとして L_i, R_i がこの順に空白区切りで 1 行に 1 組与えられます。
各クエリについて、配列 A の L_i 番目から R_i 番目までの要素のうち最小であるものの値を出力してください。
出力の最後は改行し、余計な文字、空行を含んではいけません。
* 2 ≦ N ≦ 10000
* 1 ≦ K ≦ 100000
* 1 ≦ L_i < R_i ≦ N
* -100000 ≦ A_i ≦ 100000
* 入力は合計で N + K + 1 行からなり、入力値最終行の末尾に改行が 1 つ入ります。
10 3
-63756
-72508
50739
86055
-3982
39880
-5182
22659
82685
-51357
3 6
1 5
5 8
-3982
-72508
-5182
30 5
37598
8385
12482
15640
-44016
44208
59680
-55588
80917
-46278
-47900
86039
56195
34324
28277
-92043
-55333
-77889
45696
70138
-41049
94141
84861
49137
-712
13156
30278
21445
-11794
1516
11 29
9 28
29 30
19 24
3 19
-92043
-92043
-11794
-41049
-92043