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;
}

arrow
arrow

    尾玉 發表在 痞客邦 留言(0) 人氣()