/*0.099s*/
#include<bits/stdc++.h>
using namespace std;
map<int, vector<int> > a; /// 离散化,比用vector好
int main()
{
int n, m, x, y;
while (~scanf("%d%d", &n, &m))
{
a.clear();
for (int i = 0; i < n; i++)
{
scanf("%d", &x);
if (!a.count(x)) a[x] = vector<int>();
a[x].push_back(i + 1);
}
while (m--)
{
scanf("%d%d", &x, &y);
if (!a.count(y) || a[y].size() < x) printf("0\n");
else printf("%d\n", a[y][x - 1]);
}
}
return 0;
}

本文提供了一种解决UVA在线评测系统中特定问题的方法,使用C++编程语言实现了一个高效的算法解决方案。该方案通过离散化的方式处理输入数据,并利用map数据结构存储元素及其对应的索引位置,有效地查询特定元素的排名。
709

被折叠的 条评论
为什么被折叠?



