2864: 【例56.2】 购买饮料

内存限制:64 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:2 解决:2

题目描述

小 B 出门游玩,他现在走到了 $n$家饮品店前,第$i$家买饮料的花费为 $cost_i$,他只能去花费不超过自己所带钱数额的店,但他现在不确定自己兜里有多少钱,所以现在给出 $m$ 次询问,请问如果他有 $a_i$元,他有几家饮品店可选?

输入

第一行两个整数分别表示 $n$,$m$。
第二行 $n$ 个整数,第 $i$ 个表示 $cost_i$,接下来 $m$ 行,每行一个整数表示询问。$1≤n,m,cost_i≤10^6$ ,$1≤a_i ≤10^9$。

输出

对于每次询问回答小 $B$ 有几家饮品店可选。

样例输入 复制

5 2
1 2 3 4 5
3
5

样例输出 复制

3
5

提示

#include<bits/stdc++.h>
using namespace std;
int x,n,m,a[1000005];
int main(){
    scanf("%d %d",&n,&m);
    for (int i=0;i<n;i++) scanf("%d", &a[i]);
    sort(a,a+n);
    for (int i=0;i<m;i++){
        scanf("%d",&x);
        printf("%d\n",upper_bound(a, a+n,x)-a);}
    return 0;
}