给出包含n个整数的数组,回答若干询问,每次询问两个整数k,v, 输出从左到右第k个v的下标
#include <cstdio> #include <vector> #include <map> using namespace std; map < int , vector<int> > a ; int main() { int n , m , x , y ; while(scanf("%d %d", &n, &m) != EOF) { for(int i = 0 ; i < n ; i++) { scanf("%d", &x); if( !a.count(x) ) a[x].vector<int>() ; a[x].push_back(i+1) ; } while(m--) { scanf("%d %d", &x, &y); if( !a.count(x) || a[x].size() < y ) printf("0\n"); else printf("%d\n", a[x][y-1]); } } return 0; }