C - 第K个查询
分值: 300 分
问题描述
给定一个长度为N的序列A=(a1,a2,…,aN)。按照下面的方式对Q次查询进行处理。
- 查询i:给定一对整数(xi,ki)。依次从序列A的开头查看元素 a1,a2,…。第i次查询要找到数字xi在序列A中的第ki次出现的位置。如果不存在这样的元素,输出-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行,每行为对应查询的答案。
示例
输入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在序列A中出现在位置a1,a2,a5,所以第1个查询到第4个查询分别的答案为1, 2, 5, -1。
输入2
3 2
0 1000000000 999999999
1000000000 1
123456789 1
输出2
2
-1