配点 : 300 点
問題文
長さ N の数列 A=(a1,a2,…,aN) があります。
以下で説明される Q 個のクエリに答えてください。
- クエリ i : 整数の組 (xi,ki) が与えられます。A の要素を a1,a2,… と前から順に見ていったときに、数 xi が ki 回目に登場するのは A の前から何番目の要素を見たときかを出力してください。
ただし条件を満たす要素が存在しない場合は −1 を出力してください。
制約
- 1≤N≤2×105
- 1≤Q≤2×105
- 0≤ai≤109 (1≤i≤N)
- 0≤xi≤109 (1≤i≤Q)
- 1≤ki≤N (1≤i≤Q)
- 入力はすべて整数である。
入力
入力は以下の形式で標準入力から与えられる。
N Q
a1 a2 … aN
x1 k1
x2 k2
⋮
xQ kQ
出力
Q 行出力せよ。i 行目ではクエリ i に対する答えを出力せよ。
6 8
1 1 2 3 1 2
1 1
1 2
1 3
1 4
2 1
2 2
2 3
4 1
1
2
5
-1
3
6
-1
-1
A の中で 1 は a1,a2,a5 に登場します。よって、クエリ 1 からクエリ 4 の答えは順に 1,2,5,−1 となります。
3 2
0 1000000000 999999999
1000000000 1
123456789 1
2
-1