AT_cpsco2019_s3_b Balloons
题目描述
在竞赛编程练习会活动中,比赛期间会向解出题目的参赛者分发气球。本次运营团队中有一位能够预知未来的超能力者,已经知道总共需要 $M$ 个气球。
现在手头上有 $N$ 种颜色的气球,第 $i$ 种颜色的气球有 $a_i$ 个。请从这些气球中选出总共 $M$ 个气球。希望选出的气球所包含的颜色种类数尽可能少。请编写程序,求出所需颜色种类数的最小值。
输入格式
输入以如下格式从标准输入读入。
> $N$ $M$ $a_1$ $a_2$ $\ldots$ $a_N$
输出格式
请输出一个整数,表示所需颜色种类数的最小值。
说明/提示
## 限制条件
- $1 \leq N \leq 10^5$
- $1 \leq M \leq 10^9$
- $1 \leq a_i \leq 10^9$
- $a_1 + a_2 + \dots + a_N \geq M$
- 所有输入均为整数。
## 样例解释 1
例如,可以选用 $4$ 个颜色 $1$ 的气球、$6$ 个颜色 $3$ 的气球和 $7$ 个颜色 $4$ 的气球,这样可以用 $3$ 种颜色准备 $17$ 个气球。
## 样例解释 2
可以正好把所有气球都用上。
由 ChatGPT 4.1 翻译