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$。
第二行 $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;
}