#6602. C - The Kth Time Query

0

C - The Kth Time Query

当前没有测试数据。

C - 第K个查询

分值: 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。第ii次查询要找到数字xix_i在序列AA中的第kik_i次出现的位置。如果不存在这样的元素,输出-1。

约束条件

  • 1≤N≤2×1051 \leq N \leq 2 \times 10^5
  • 1≤Q≤2×1051 \leq Q \leq 2 \times 10^5
  • 0≤ai≤1090 \leq a_i \leq 10^9,(1≤i≤N)(1 \leq i \leq N)
  • 0≤xi≤1090 \leq x_i \leq 10^9,(1≤i≤Q)(1 \leq i \leq Q)
  • 1≤ki≤N1 \leq k_i \leq N,(1≤i≤Q)(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行,每行为对应查询的答案。

示例

输入1

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

1
2
5
-1
3
6
-1
-1

解释:数字1在序列AA中出现在位置a1,a2,a5a_1, a_2, a_5,所以第1个查询到第4个查询分别的答案为1, 2, 5, -1。

输入2

3 2
0 1000000000 999999999
1000000000 1
123456789 1

输出2

2
-1