A. USB Flash Drives
2016-01-11 18:12
393 查看
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output
Sean is trying to save a large file to a USB flash drive. He has n USB flash drives with capacities equal to a1, a2, ..., anmegabytes.
The file size is equal to m megabytes.
Find the minimum number of USB flash drives needed to write Sean's file, if he can split the file between drives.
Input
The first line contains positive integer n (1 ≤ n ≤ 100)
— the number of USB flash drives.
The second line contains positive integer m (1 ≤ m ≤ 105)
— the size of Sean's file.
Each of the next n lines contains positive integer ai (1 ≤ ai ≤ 1000)
— the sizes of USB flash drives in megabytes.
It is guaranteed that the answer exists, i. e. the sum of all ai is
not less than m.
Output
Print the minimum number of USB flash drives to write Sean's file, if he can split the file between drives.
Sample test(s)
input
output
input
output
input
output
Note
In the first example Sean needs only two USB flash drives — the first and the third.
In the second example Sean needs all three USB flash drives.
In the third example Sean needs only one USB flash drive and he can use any available USB flash drive — the first or the second.
解题说明:水题,排序然后用贪心即可。
#include<cstdio>
#include <cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main()
{
int n,m,a[103],i,cnt;
cin >> n >> m;
for(i=0;i<n;i++)
{
cin >> a[i];
}
sort(a,a+n);
i=n-1;
cnt=0;
while(m>0)
{
m=m-a[i--];
cnt++;
}
cout << cnt<<endl;
return 0;
}
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output
Sean is trying to save a large file to a USB flash drive. He has n USB flash drives with capacities equal to a1, a2, ..., anmegabytes.
The file size is equal to m megabytes.
Find the minimum number of USB flash drives needed to write Sean's file, if he can split the file between drives.
Input
The first line contains positive integer n (1 ≤ n ≤ 100)
— the number of USB flash drives.
The second line contains positive integer m (1 ≤ m ≤ 105)
— the size of Sean's file.
Each of the next n lines contains positive integer ai (1 ≤ ai ≤ 1000)
— the sizes of USB flash drives in megabytes.
It is guaranteed that the answer exists, i. e. the sum of all ai is
not less than m.
Output
Print the minimum number of USB flash drives to write Sean's file, if he can split the file between drives.
Sample test(s)
input
3 5 2 1 3
output
2
input
36
232
output
3
input
25
5
10
output
1
Note
In the first example Sean needs only two USB flash drives — the first and the third.
In the second example Sean needs all three USB flash drives.
In the third example Sean needs only one USB flash drive and he can use any available USB flash drive — the first or the second.
解题说明:水题,排序然后用贪心即可。
#include<cstdio>
#include <cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main()
{
int n,m,a[103],i,cnt;
cin >> n >> m;
for(i=0;i<n;i++)
{
cin >> a[i];
}
sort(a,a+n);
i=n-1;
cnt=0;
while(m>0)
{
m=m-a[i--];
cnt++;
}
cout << cnt<<endl;
return 0;
}
相关文章推荐
- hadoop本地任务运行过程报临时文件找不到问题排查
- 如何求原根
- C# 使用VS导进自己写的dll或者第三方dll
- Unity日常技巧
- C# winform combobox控件中子项加删除按钮(原创)
- ibatis 参数类型为map,map里面有list
- 网易首页导航封装类优化
- poj--3169--Layout(简单差分约束)
- radware alteon 负载均衡器设置
- 高仿网易评论列表效果之界面生成(三)
- python数字图像处理(3):图像像素的访问与裁剪
- poj--3169--Layout(简单差分约束)
- 根据结构体的一部分,进行排序,从而对该结构体排序
- SQL Server中使用正则表达式
- final关键字
- linux消息队列编程实例
- 高仿网易评论列表效果之数据准备(二)
- win键盘映射成mac键盘
- 生命太短暂,我没时间讨厌你
- 如何在修改bug时切换分支保留修改又不提交