无话可说,数组存不下,只能开vector,vector自动开辟大小
#include <iostream> #include <cstring> #include <cstdio> #include <algorithm> #include <map> #include <vector> using namespace std; const int maxn=100000+100; const int maxm=1000000+100; vector<int> pp[maxm]; int id[maxm]; int n,m; int main() { while(~scanf("%d%d",&n,&m)) { for(int i=1;i<=n;i++) pp[i].clear(); memset(id,0,sizeof(id)); int a; for(int i=1;i<=n;i++) { scanf("%d",&a); pp[a].push_back(i); } int k,v; for(int i=1;i<=m;i++) { scanf("%d%d",&k,&v); if(pp[v].size()>=k) { printf("%d\n",pp[v][k-1]); } else printf("0\n"); } } return 0; }
原文:http://www.cnblogs.com/Wangwanxiang/p/7738460.html