uva 11991 Easy Problem(map一对多)

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


 

 

posted @ 2013-05-03 20:04  坚固66  阅读(160)  评论(0编辑  收藏  举报