题解 | A83492 最优装载
2025-12-06 15:17:35
发布于:重庆
13阅读
0回复
0点赞
题解
这是一道贪心模版题。
大概意思就是,需要尽可能多的数量,来装一定量的货物。这就是贪心算法的思想:一步最优达到全局最优。
首先,我们需要对其重排序,才能找到质量最轻的货物。
然后,循环枚举该数组,如果货物没超限就加上,否则终止循环。
这里提供复杂度为 的答案。
//from ACGO tijie ruidashuai
#include<bits/stdc++.h>
using namespace std;
int main(){
int c,n,a[1005]={},k=0,m=0;
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++){
if(k+a[i]<=c){
k+=a[i];
}else{
break;
}
m++;
}
cout<<m;
return 0;
}
这里空空如也







有帮助,赞一个