【贪心算法(一)】最优装载问题题解
2026-09-21 20:03:29
发布于:浙江
13阅读
0回复
0点赞
观察题目发现物品不能分割,只有选与不选两种选择,为了数量最大,就尽可能的先装小的,所以用sort排序
时间复杂度:O(n)
代码
#include<bits/stdc++.h>
using namespace std;
long long c,n,a[1005],sum,ans;
int main(){
cin>>c>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
sort(a+1,a+n+1);
for(int i=1;i<=n;i++){
sum+=a[i];
if(sum>c){
break;
}
ans++;
}
cout<<ans;
return 0;
}
这里空空如也




有帮助,赞一个