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