uva 11991

来源:互联网 发布:微信淘宝秒杀是真的吗 编辑:程序博客网 时间:2024/04/28 09:39

这个题是学会使用stl中的map映像来进行匹配,相比单用纯数组要方便多了,熟练运用将会方便很多。此题只需要用map <int ,vector<int> >创建一个动态匹配,每一个key就是一个动态数组,以此来储存各个相同key的下标。

#include<stdio.h>#include<stdlib.h>#include<map>#include<vector>using namespace std;map <int,vector<int> > m;int main(){   int n,q,a,k,v;      while(scanf("%d %d",&n,&q)!=EOF){       m.clear();       for(int i=0;i<n;i++){           scanf("%d",&a);           if(!m.count(a)) m[a]=vector<int>();//如果是第一次插入要先声请空间            m[a].push_back(i+1);       }       for(int i=0;i<q;i++){          scanf("%d %d",&k,&v);          if(m[v].size()<k)printf("0\n");          else printf("%d\n",m[v][k-1]);        }   }   return 0;} 


原创粉丝点击