Easy Problem from Rujia Liu?
map函数参考: http://hi.baidu.com/0wingbinging/item/48b52423fc00d00177272c0c
#include <iostream> #include <vector> #include <stdio.h> #include <map> using namespace std; int main() { map <int,vector<int> > a; int n,m,x,y; while(~scanf("%d%d",&n,&m)) { a.clear(); 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(y) || a[y].size() < x ) printf("0\n"); else printf("%d\n",a[y][x-1]); } } return 0; }