没有合适的资源?快使用搜索试试~ 我知道了~
算法设计与分析-程序存储问题
5星 · 超过95%的资源 需积分: 15 25 下载量 184 浏览量
2010-01-22
10:27:29
上传
评论 1
收藏 610B TXT 举报
温馨提示
试读
2页
程序存储问题 设有n个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是li,1<=i<=n。程序存储问题要求确定这n个程序在磁带上的一个存储方案,使得能够在磁带上存储尽可能多的程序。 Input 测试数据的第一行是2个正整数,分别表示文件个数n(n<=1000)和磁带的长度L。接下来的1行中,有n个正整数,表示程序存放在磁带上的长度。你可以假设处理过程中数据不会超出int型范围。处理到文件结束。 Output 输出最多可以存储的程序数,每个答案一行。 Sample Input 6 50 2 3 13 8 80 20 Sample Output 5
资源推荐
资源详情
资源评论
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
bool run()
{
int n,l;
if(!(cin>>n>>l)) return false;
vector<int> f(n);
for(int i=0; i<n; i++)
{
cin>>f[i];
}
sort(f.begin(),f.end());
int cnt=0;
for(int i=0; i<n; i++)
{
if(l-f[i]>=0)
{
cnt++;
l=l-f[i];
}
else
{
break;
}
}
cout<<cnt<<endl;
#include<algorithm>
#include<vector>
using namespace std;
bool run()
{
int n,l;
if(!(cin>>n>>l)) return false;
vector<int> f(n);
for(int i=0; i<n; i++)
{
cin>>f[i];
}
sort(f.begin(),f.end());
int cnt=0;
for(int i=0; i<n; i++)
{
if(l-f[i]>=0)
{
cnt++;
l=l-f[i];
}
else
{
break;
}
}
cout<<cnt<<endl;
资源评论
- QQheqianjin2012-12-11自己改了改,还行
- lytymay2013-01-07函数不完整啊。。。
freefish622
- 粉丝: 7
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功