普及-⏱ 1000ms💾 256MB#P3186🏷️ 模拟贪心

题目描述

仓库顶层有一批待取货物,取货口离地 $B$ 厘米。仓管员想把若干只箱子 (第 $i$ 只高 $h_i$ 厘米)叠起来,使箱子总高度不低于 $B$,以便够到货物。 箱子叠得越多越不稳,所以要用尽量少的箱子。

求最少需要多少只箱子。数据保证所有箱子叠起来总高不低于 $B$。

输入格式

第一行两个整数 $N$ 和 $B$,用空格分开; 接下来 $N$ 行,每行一个整数 $h_i$,为各箱子的高度。

输出格式

一行,一个整数:所需箱子的最少只数。

数据范围

$$1 \le N \le 20000,\ 1 \le h_i \le 10000,\ 1 \le B \le \sum h_i < 2000000007$$

样例输入 #1
6 40
6
18
11
13
21
10
样例输出 #1
3
样例输入 #2
1 5
5
样例输出 #2
1