博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces Educational Codeforces Round 3 A. USB Flash Drives 水题
阅读量:5351 次
发布时间:2019-06-15

本文共 1367 字,大约阅读时间需要 4 分钟。

A. USB Flash Drives

题目连接:

Description

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, ..., an megabytes. 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 Input

3

5

2

1

3

Sample Output

2

Hint

题意

给你n个u盘,每个u盘的容量为a[i],给你一个M大小的文件,问你最少用多少个U盘就可以装完。

题解:

贪心。将U盘按照从大到小排序,然后依次装进U盘,知道M大小被装完。

代码

#include
using namespace std;int a[105];bool cmp(int A,int B){ return A>B;}int main(){ int n;scanf("%d",&n); int m;scanf("%d",&m); for(int i=1;i<=n;i++) scanf("%d",&a[i]); sort(a+1,a+1+n,cmp); int ans = 0; for(int i=1;i<=n;i++) { m-=a[i]; ans++; if(m<=0)break; } printf("%d\n",ans);}

转载于:https://www.cnblogs.com/qscqesze/p/5060199.html

你可能感兴趣的文章
关于python中带下划线的变量和函数 的意义
查看>>
linux清空日志文件内容 (转)
查看>>
安卓第十三天笔记-服务(Service)
查看>>
Servlet接收JSP参数乱码问题解决办法
查看>>
Ajax : load()
查看>>
MySQL-EXPLAIN执行计划Extra解释
查看>>
Zookeeper概述
查看>>
Linux远程登录
查看>>
Linux自己安装redis扩展
查看>>
HDU 1016 Prime Ring Problem(dfs)
查看>>
C#中结构体与字节流互相转换
查看>>
session和xsrf
查看>>
Linux目录结构
查看>>
luoguP3414 SAC#1 - 组合数
查看>>
五一 DAY 4
查看>>
【译】SSH隧道:本地和远程端口转发
查看>>
图片点击轮播(三)-----2017-04-05
查看>>
直播技术细节3
查看>>
《分布式服务架构:原理、设计于实战》总结
查看>>
java中new一个对象和对象=null有什么区别
查看>>