这个题目的意思是输入n个数,m组询问,每组询问包含两个整数k,v,意思是询问整数v第k次出现的位置。
代码语言:javascript复制#include <cstdio>
#include <map>
#include <vector>
using namespace std;
int main()
{
map<int,vector<int> > mm; //我们这里使用了STL里的map和vector
int n, m, k, v, i, a;
while (scanf("%d%d",&n,&m) != EOF)
{
mm.clear();
for (i = 1;i <= n;i )
{
scanf("%d",&a);
mm[a].push_back(i);
}
while (m--)
{
scanf("%d%d",&k,&v);
if(mm[v].size() < k)
printf("0n");
else
printf("%dn",mm[v][k-1]);
}
}
return 0;
}
代码很好懂,主要是map和vector的用法。