知识点:模拟
这个题也是个非常简单的题,简单到我感觉不到什么数据结构的内容,非要说的话就是跟邻接表有点像
#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 5;
int main() {
int n, m;
while (cin >> n >> m) {
vector<int> v[N];
for (int i = 1; i <= n; i++) {
int x;
scanf("%d", &x);
v[x].push_back(i);
}
while (m--) {
int k, x;
scanf("%d%d", &k, &x);
if ((int) v[x].size() < k) printf("0\n");
else printf("%d\n", v[x][k - 1]);
}
}
return 0;
}