问题1432--【课课通-习题】5.4.2美人松的高度2

1432: 【课课通-习题】5.4.2美人松的高度2

[命题人 : ]
时间限制 : 1.000 sec  内存限制 : 128 MB

题目描述

到过年了,狗熊岭的动物们都忙碌了起来,张灯结彩准备过年。李老板却要光头强砍一些百年美人松回去。美人松都是很高的,它们的高度不超过长整型。现在光头强看到丛林里有N棵美人松按照从矮到高的排好,当然每棵松的高度是已知的。李老板要问光头强M次,每次询问高度为K的美人松有多少棵。

输入

第一行两个正整数N和M,之间用一个空格隔开,1≤N≤106,1≤M≤1000。

第二行N个正整数,之间用一个空格隔开,表示N棵美人松的高度。

第三行M个正整数,之间用一个空格隔开,表示M个询问,每次询问高度为K的美人松有多少棵,1≤K≤1000。

输出

一行M个正整数,之间用一个空格隔开,分别表示对应每次询问高度为   K的树的数量,如果没有则输出0。

样例输入 Copy

5 2
2 3 3 4 5
3 4

样例输出 Copy

2 1

提示

//二分查找
int left=0,right=n-1,mid;
//找最左边的key的位置
while(left<=right){
    mid=(right+left)/2;
    if(a[mid]>k)right=mid-1;
    else if(a[mid]<k)left=mid+1;
    else{
        aleft=mid;//记录当前key值的位置
        right=mid-1;//将右边的边界往左移动
    }