Tyvj-超级书架

摘要:
农夫约翰最近为奶牛图书馆买了一个巨大的书架。虽然它这么大,但它仍然几乎在瞬间装满了各种各样的书。现在,只有书架的顶部还剩下一点空间。书架高度为B,保证1

描述

FarmerJohn最近为奶牛们的图书馆添置了一个巨大的书架,尽管它是如此
的大,但它还是几乎瞬间就被各种各样的书塞满了。现在,只有书架的顶上还留
有一点空间。
所有N(1<=N<=20,000)头奶牛都有一个确定的身高H_i
(1<=H_i<=10,000)。设所有奶牛身高的和为S。书架的高度为B,并且保证
1<=B<=S<2,000,000,007。
为了够到比最高的那头奶牛还要高的书架顶,奶牛们不得不象演杂技一般,
一头站在另一头的背上,叠成一座“奶牛塔”。当然,这个塔的高度,就是塔中
所有奶牛的身高之和。为了往书架顶上放东西,所有奶牛的身高和必须不小于书
架的高度。显然,塔中的奶牛数目越多,整座塔就越不稳定,于是奶牛们希望在
能够到书架顶的前提下,让塔中奶牛的数目尽量少。
现在,奶牛们找到了你,希望你帮她们计算这个最小的数目。

输入格式

*第1行:2个用空格隔开的整数:N和B
*第2..N+1行:第i+1行是1个整数:H_i

输出格式

*第1行:输出1个整数,即最少要多少头奶牛叠成塔,才能够到书架顶部

测试样例1

输入

6 40
6
18
11
13
19
11

输出

3

备注

输入说明:
一共有6头奶牛,书架的高度为40,奶牛们的身高在6..19之间。
输出说明:
一种只用3头奶牛就达到高度40的方法:18+11+13。当然还有其他方法,在
此不一一列出了。
思路:可以从大到小排序数组,再从前往后判断能否够到书架就得了。
代码如下:
1 #include <stdio.h>
2 #include <stdlib.h>
3 int CKY[10000];
4 intz;  
5 int fun(const void *a,const void *b)
6 {
7     return *(int*)b-*(int*)a;
8 }  
9 intmain()
10 {
11    int x,i,n,a=0,b;
12    scanf("%d%d",&n,&b);
13    for(i=0;i<n;i++)
14 {   
15        scanf("%d",&CKY[i]);
16 }
17    qsort(CKY,n,sizeof(int),fun);
18    for(i=0;i<n&&a<b;i++)
19 {   
20        a=a+CKY[i];
21 }
22    printf("%d
",i);
23    return 0;
24 }

免责声明:文章转载自《Tyvj-超级书架》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Tyvj(无向图的桥)今年美国什么工作最吃香?程序猿薪酬超医生下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

OpenWrt上搭建纯L2TP服务器[ZT]

转移自:http://www.openwrt.pro/post-389.html纯L2TP(L2TP+ppp,无IPSec)首先安装xl2tpd软件包opkgupdateopkginstallxl2tpd edit/etc/xl2tpd/xl2tpd。conf,并配置l2tp服务器[global]port=1701authfile=/etc/xl2tpd/x...

如何下载Chrome离线版EXE安装文件和MSI版安装文件

对于Chrome的稳定版本(官方版本),您只需添加“?”在Chrome的“最终用户许可协议”页面上的链接之后?Standalone=1对于Beta版和开发版Chrome,只需记住以下地址:http://dl.google.com/chrome/install/{versionnumber}/crome_安装程序中的版本号。exe表示要下载的Chrome版本号...

如何快速把ps序列图层建立帧动画?

工具ps1。将序列帧图片加载到ps新建-˃脚本-˃将文件加载到堆栈2中。创建序列帧动画窗口-˃时间线-˃时间线面板的右上菜单-˃从层3创建帧。移除多余的透明画布选择所有层-˃图像-˃剪辑-˃基于透明度4。将图层保存到图片文件-˃脚本-˃将图层保存为文件隐藏白色背景5。导出序列框架文件-˃自动-˃联系人表6存储为png...

微信小程序的模板消息与小程序订阅消息

有关获取分发权限的更多信息,请参阅applet侧消息订阅接口wx的步骤3。requestSubscribeMessage。有关发出订阅消息的调用接口的更多信息,请参阅服务器端消息发送接口subscribeMessage。sendwx。requestSubscribeMessage(Objectobject)基本库2.8.2。必须填写参数Objectobjec...

Selenium操作示例——鼠标悬停显示二级菜单,再点击二级菜单或下拉列表

这两天在python中玩selenium时,我遇到了一个问题,那就是鼠标移动到页面上的一个按钮或菜单,二级菜单或下拉菜单自动弹出,然后二级菜单或者下拉列表自动点击。...

sqlserver2016安装

2008以前的版本在SQLserver配置管理其中设置。...