最优装载

来源:互联网 发布:直通车图片优化 编辑:程序博客网 时间:2024/04/29 23:12

最优装载 分享至QQ空间去爱问答提问或回答

时间限制(普通/Java):1000MS/10000MS 运行内存限制:65536KByte
总提交: 1274 测试通过: 483

描述

有一批集装箱要装上一艘载重量为c的轮船。其中集装箱i的重量为Wi。最优装载问题要求确定在装载体积不受限制的情况下,将尽可能多的集装箱装上轮船。

编程任务: 对于给定的n个集装箱和轮船的载重量C,编程计算装入最多时的集装箱个数。

输入

输入由多组测试数据组成。每组测试数据输入的第1行中有2个正整数n和C。正整数n是集装箱个数;正整数C是轮船的载重量。接下来的一行中有n个整数,分别表示n个集装箱的重量,它们之间用空格分隔。其中1<=n<=2000,所有正整数不超过231-1

输出

对应每组输入,输出的每行是计算出的装入最多时的集装箱个数。

样例输入

4 53 5 2 1

样例输出

2
#include<iostream>#include<vector>#include<algorithm>using namespace std;int main(){int n,c,i,w,count,sum;vector<int> v;while(cin>>n>>c){v.clear();for(i=0;i<n;i++){cin>>w;v.push_back(w);}sort(v.begin(),v.end());count=0;for(i=0;i<v.size();i++){if(v[i]>c)break;c=c-v[i];count++;}cout<<count<<endl;}return 0;}
原创粉丝点击