输入n个数 然后m对k v求第k个v的下标 没有输出0
用map 先预处理好 直接输出a[v][k]
容器里面套容器 第一次遇到
#include <map>
#include <cstdio>
#include <vector>
using namespace std;
map <int, vector <int> > a;
int main()
{
int n, m;
int u, v;
int i, j;
while(scanf("%d %d",&n,&m) !=EOF)
{
a.clear();
for(i = 0; i < n; i++)
{
scanf("%d", &j);
if(!a.count(j))
a[j] = vector <int>();
a[j].push_back(i+1);
}
while(m--)
{
scanf("%d %d", &u, &v);
if(!a.count(v) || a[v].size() < u)
printf("0\n");
else
printf("%d\n", a[v][u-1]);
}
}
return 0;
}