c++中的map原来可以一多对!
#include <iostream> #include <map> #include <vector> using namespace std; map<int,vector<int> > d; int main(int argc, char *argv[]) { int n,m,i,j,k,v; while(cin>>n>>m) { for(i=1;i<=n;i++) { cin>>v; if(!d.count(v)) d[v]=vector<int>(); d[v].push_back(i); } while(m--) { cin>>k>>v; if(!d.count(v)||k>d[v].size()) cout<<0<<endl; else cout<<d[v][k-1]<<endl; } d.clear(); } return 0; }