利用vector和map这两个现成的数据结构
#include<bits/stdc++.h>
using namespace std;
map<int,vector<int> >a;
int main()
{
int n,m,x,k,v;
while(scanf("%d%d",&n,&m)==2)
{
a.clear();
for(int i=1;i<=n;i++)
{
scanf("%d",&x);
if(!a.count(x))
a[x]=vector<int>();
a[x].push_back(i);
}
for(int i=1;i<=m;i++)
{
scanf("%d%d",&k,&v);
if(!a.count(v)||a[v].size()<k)
printf("0\n");
else
printf("%d\n",a[v][k-1]);
}
}
return 0;
}