(5199)HDU

#include<iostream>
#include<cstdio>
#include<string.h>
#include<string>
#include<stack>
#include<set>
#include<algorithm>
#include<cmath>
#include<vector>
#include<map>


#define ll __int64
#define lll unsigned long long
#define MAX 1000009
#define eps 1e-8
#define INF 0xfffffff
#define mod 1000000007


/*
题意:JACK打鸟,一共有n只鸟,每只鸟有不同的高度,JACK会射m枪,每次会有个射击高度,在这个射击高度下的鸟都会shi,问你m次可以射掉多少鸟 ==


想法:快速输入,map搞下
      map的特性就是会对每次insert入的<key,value>值,按照key排序


*/
using namespace std;


template <class T>
inline void scan_d(T &ret)
{
    char c;
    ret=0;
    while((c=getchar())<'0'||c>'9');
    while(c>='0'&&c<='9') ret=ret*10+(c-'0'),c=getchar();
}
inline void out(int x) {
   if(x>9) out(x/10);
   putchar(x%10+'0');
}


ll h[MAX];
ll q[MAX];


int main()
{
    int n,m;
    int x;
    map<int,ll>op;
    while(scanf("%d%d",&n,&m)!=EOF)
    {
       op.clear();
       for(int i = 0;i<n;i++)
       {
           scan_d(h[i]);
           //scanf("%d",&h[i]);
           op[h[i]]++;
       }
       for(int i = 0;i<m;i++)
       {
           scan_d(x);
            //scanf("%d",&x);
            out(op[x]);
            op[x] = 0;
            puts("");
       }
    }
    return 0;
}

你可能感兴趣的:((5199)HDU)