大意略。
原来map可以插vector额。
#include <cstdio>
#include <vector>
#include <map>
using namespace std;
map<int, vector<int> > a;
int n, m;
int k, v;
void init()
{
a.clear();
}
int main()
{
while(~scanf("%d%d", &n, &m))
{
init();
for(int i = 0; i < n; i++)
{
scanf("%d", &v);
if(!a.count(v)) a[v] = vector<int> ();
a[v].push_back(i+1);
}
while(m--)
{
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;
}