超级书架
时间限制:1秒 内存限制:256M
【题目描述】
老H最近为孩子们的图书馆添置了一个巨大的书架,尽管它是很的大,但它还是几乎瞬间就被各种各样的书塞满了。现在,只有书架的顶上还留有一点空间。所有 \(N\) 个孩子都有一个确定的身高 \(H_i\)。设所有孩子身高的和为 \(S\)。书架的高度为 \(B\)。
为了到达比最高的那个孩子还要高的书架顶,孩子们不得不象演杂技一般,一个站在另一个的背上,叠成一座“孩子塔”。当然,这个塔的高度,就是塔中所有孩子的身高之和。为了往书架顶上放东西,所有孩子的身高和必须不小于书架的高度。显然,塔中的孩子数目越多,整座塔就越不稳定,于是孩子们希望在能够到达书架顶的前提下,让塔中孩子的数目尽量少。
现在,孩子们找到了你,希望你帮她们计算这个最小的数目。
【输入格式】
第 \(1\) 行有两个个用空格隔开的整数 \(N\) 和 \(B\),
第 \(2..N+1\) 行: 第 \(i+1\) 行是 \(1\) 个整数:\(H_i\)。
【输出格式】
输出 \(1\) 个整数,即最少要多少个孩子叠成塔,才能够到书架顶部。
【输入输出样例】
Input
6 40
6
18
11
13
19
11
Output
3
【输入输出样例解释】
一种只用 3 个孩子就达到高度 40 的方法:18+11+13。当然还有其他方法,在此不一一列出了。
【数据限制】
\(1<= N<=20,000\)
\(1<=H_i<=10,000 \)
\(1<=B<=S<2,000,000,007\)
【来源】
Mr.he