题意就是
给出数字n 和m 现在给n个数 然后给m个询问
每次询问两个数字a b 问的是在这个数列中第a个b的序号是多少。。。
这个肯定要log n 的复杂度以内
但是数据量很大也没发开二维数组
所以用map
第一次用map里面的东西是vector的容器套容器啊
这题就这个一个亮点了
#include<iostream>
#include<cstdio>
#include<map>
#include<vector>
using namespace std;
int main()
{
map<int ,vector<int> > m;
int n,mm,a,b;
while(scanf("%d %d",&n,&mm)!=EOF)
{
m.clear();
for(int i=0;i<n;++i)
{
scanf("%d",&a);
m[a].push_back(i+1);
}
while(mm--)
{
scanf("%d%d",&a,&b);
if(!m.count(b) || m[b].size()<a)
printf("0\n");
else
printf("%d\n",m[b][a-1]);
}
}
return 0;
}