uva 11991 查询中容器的运用

时间:2014-01-27 17:11:32   收藏:0   阅读:327

题目大意:一个n个整数的数组,m条查询指令。(1<=n,m<=100 000)每次询问第k个整数v的下标值,若不存在输出0。

 

bubuko.com,布布扣
#include<iostream>
#include<map>
#include<vector>
#include<cstdio>
using namespace std;

map<int,vector<int> > a;

int main()
{
    int n,m,i,p,k,v;
    while(scanf("%d %d",&n,&m) == 2)
    {
        a.clear();
        for(i=0;i<n;i++)
        {
            scanf("%d",&p);
            if(!a.count(p)) a[p]=vector<int> ();
            a[p].push_back(i+1);
        }
        while(m--)
        {
            scanf("%d %d",&k,&v);
            if(!a.count(v) || a[v].size() < k) printf("0\n");
            else printf("%d\n",a[v][k-1]);
        }
    }
    return 0;
}
bubuko.com,布布扣

原文:http://www.cnblogs.com/xiong-/p/3534687.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!