atcoder#ABC235C. [ABC235C] The Kth Time Query

[ABC235C] The Kth Time Query

配点 : 300300

問題文

長さ NN の数列 A=(a1,a2,,aN)A = (a_1, a_2, \dots, a_N) があります。 以下で説明される QQ 個のクエリに答えてください。

  • クエリ ii : 整数の組 (xi,ki)(x_i, k_i) が与えられます。AA の要素を a1,a2,a_1, a_2, \dots と前から順に見ていったときに、数 xix_ikik_i 回目に登場するのは AA の前から何番目の要素を見たときかを出力してください。 ただし条件を満たす要素が存在しない場合は 1-1 を出力してください。

制約

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1Q2×1051 \leq Q \leq 2 \times 10^5
  • 0ai1090 \leq a_i \leq 10^9 (1iN)(1 \leq i \leq N)
  • 0xi1090 \leq x_i \leq 10^9 (1iQ)(1 \leq i \leq Q)
  • 1kiN1 \leq k_i \leq N (1iQ)(1 \leq i \leq Q)
  • 入力はすべて整数である。

入力

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

NN QQ

a1a_1 a2a_2 \dots aNa_N

x1x_1 k1k_1

x2x_2 k2k_2

\vdots

xQx_Q kQk_Q

出力

QQ 行出力せよ。ii 行目ではクエリ ii に対する答えを出力せよ。

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

AA の中で 11a1,a2,a5a_1, a_2, a_5 に登場します。よって、クエリ 11 からクエリ 44 の答えは順に 1,2,5,11, 2, 5, -1 となります。

3 2
0 1000000000 999999999
1000000000 1
123456789 1
2
-1