close
題目連結: https://onlinejudge.org/external/119/11991.pdf
題目大意: 找出第k個出現v的位置
思路: 用map+vector存每個數字的位置。水題
代碼:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n, m, k, v, x;
while(scanf("%d %d", &n, &m) != -1){
unordered_map<int, vector<int>> mp;
for(int i = 0; i < n; ++i){
scanf("%d", &x);
mp[x].push_back(i+1);
}
while(m--){
scanf("%d %d", &k, &v);
if(mp[v].size() < k) puts("0");
else printf("%d\n", mp[v][k-1]);
}
}
return 0;
}
文章標籤
全站熱搜