题目描述
给定n个物品,每个物品价格为a[i]元,给你m元,请问最多可以购买多少个物品? (只需要买的物品个数尽可能多即可)。
输入格式
第一行两个整数n和m。
第二行n个整数a[i]。
输出格式
一行,表示可以购买的物品个数。
样例输入
5 20 1 5 10 5 8
样例输出
4
问题提示
对于100%的数据,1<=n<=1e5,1<=a[i]<=1e5,0<=m<=1e9。
源代码
#include <bits/stdc++.h>
using namespace std;
int n,m,t=0;
int main(){
cin>>n>>m;
int a[n];
for(int i=1;i<=n;i++){
cin>>a[i];
}
sort(a+1,a+n+1);
for(int i=1;i<=n;i++){
if(a[i]<=m){
m-=a[i];
t++;
}else{
break;
}
}
cout<<t;
return 0;
}