#cpsco2019s3b. [cpsco2019_s3_b]Balloons

[cpsco2019_s3_b]Balloons

问题文

在竞技编程练习会活动中,参与者在比赛期间会分发气球作为奖励。本次活动的组织团队中有一位拥有透视未来能力的超能力者,他们发现总共需要 MM 个气球。

目前手上有 NN 种颜色的气球,其中颜色 ii (=1,2,ldots,N)(=1, 2, \\ldots, N) 的气球有 aia_i 个。我们希望从中选择总共 MM 个气球,并使得所选气球的颜色种类尽可能少。请编写一个程序来求出所选气球的颜色种类数的最小值。

约束条件

  • 1leNle1051 \\le N \\le 10^5
  • 1leMle1091 \\le M \\le 10^9
  • 1leaile1091 \\le a_i \\le 10^9
  • a1+a2+dots+aNgeMa_1 + a_2 + \\dots + a_N \\ge M
  • 输入都是整数。

输入

输入通过标准输入给出,格式如下:

NN MM a1a_1 a2a_2 ldots\\ldots aNa_N

输出

请将答案输出到一行。


输入例子 1

5 17
4 5 7 9 2

输出例子 1

3

例如,我们可以选择 44 个颜色为 11 的气球,选择 66 个颜色为 33 的气球,选择 77 个颜色为 44 的气球,这样就可以用 33 种颜色的气球凑齐 1717 个。


输入例子 2

2 9
3 6

输出例子 2

2

我们可以正好使用所有的气球。


输入例子 3

10 9
1 2 3 4 5 6 7 8 9 10

输出例子 3

1

输入例子 4

10 129
12 42 13 25 32 19 14 9 21 12

输出例子 4

5