开始: 2026-10-10 11:00:00

【集训07】模拟赛1011

结束: 2026-10-11 23:00:00
当前  2026-11-04 11:35:10  类型: IOI  状态: 已经结束 

P6. 第 K 次出现(kthtime)
描述

有一个长度为 N 的整数列 A_1, A_2, \dots, A_N。

现在给出 Q 个查询。第 i 个查询由两个整数 x_i, k_i 给出,含义是:

> 在 A 中,**第 k_i 次出现数值 x_i 的那个位置**的下标是多少?

形式化地说:设所有满足 A_j = x_i 的下标按从小到大排成 j_1 < j_2 < \dots < j_m。若 k_i \le m,答案为 j_{k_i};若 k_i > m(也就是 x_i 出现的次数不足 k_i 次,包括一次都没出现),答案为 -1。

对每个查询按顺序输出答案,每个一行。


输入

N Q

A_1 A_2 ... A_N

x_1 k_1

x_2 k_2

...

x_Q k_Q


输出

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

输入

3 2
0 1000000000 999999999
1000000000 1
123456789 1

输出

2
-1
提示

| t1 | 10 | N, Q \le 10,A_i, x_i \le 4 | 

| t2 | 20 | N, Q \le 300,值域 \le 49 |

| t3 | 30 | N = Q = 5000,值域 \le 1999 |

| t4 | 40 | N = Q \le 2\times 10^5,值域到 10^9|

样例1说明:A = (1,1,2,3,1,2)。数值 1 出现在下标 1,2,5,所以"第 1 次出现的 1"是下标 1、"第 3 次出现的 1"是下标 5、"第 4 次出现的 1"不存在(-1)。数值 2 出现在下标 3,6。数值 4 从未出现。


提交

题目参数
时间限制 1 秒
内存限制 128 MB
提交