UVA 11991——Easy Problem from Rujia Liu?

来源:互联网 发布:淘宝人工客服电话400 编辑:程序博客网 时间:2024/05/18 03:55


题意:给定一个数组,然后有若干组询问,每次询问求第k个v出现的位置。


思路:用vector构造模拟,吧相同的数的位置放在同一个vector里,对于每次查询输出mp[v][x-1];


code:

#include <bits/stdc++.h>using namespace std;map<int,vector<int> >mp;int main(){int n,m,k,v;while (~scanf("%d%d",&n,&m)){mp.clear();for (int i=0;i<n;i++){scanf("%d",&v);mp[v].push_back(i+1);}for (int i=0;i<m;i++){scanf("%d%d",&k,&v);if (k>mp[v].size())puts("0");else printf("%d\n",mp[v][k-1]);}}}


0 0
原创粉丝点击