AT_cpsco2019_s3_b Balloons
Description
[problemUrl]: https://atcoder.jp/contests/cpsco2019-s3/tasks/cpsco2019_s3_b
競プロ練習会イベントでは、コンテスト中に、問題を解いた参加者たちに風船が配布されます。今回の運営チームの中には未来透視のできる超能力者がいて、合計で $ M $ 個の風船が必要であることがわかりました。
現在、$ N $ 色の風船が手元にあり、色 $ i $ $ (=1,\ 2,\ \ldots,\ N) $ の風船が $ a_i $ 個あります。この中から合計で $ M $ 個の風船を選びます。選んだ風船に登場する色の種類がなるべく少なくなるようにしたいです。色の種類数の最小値を求めるプログラムを作成してください。
Input Format
入力は以下の形式で標準入力から与えられます。
> $ N $ $ M $ $ a_1 $ $ a_2 $ $ \ldots $ $ a_N $
Output Format
答えを一行に出力してください。
Explanation/Hint
### 制約
- $ 1\ \le\ N\ \le\ 10^5 $
- $ 1\ \le\ M\ \le\ 10^9 $
- $ 1\ \le\ a_i\ \le\ 10^9 $
- $ a_1\ +\ a_2\ +\ \dots\ +\ a_N\ \ge\ M $
- 与えられる入力はすべて整数です。
### Sample Explanation 1
例えば色 $ 1 $ の風船を $ 4 $ 個、色 $ 3 $ の風船を $ 6 $ 個、色 $ 4 $ の風船を $ 7 $ 個使えば $ 3 $ 種類で $ 17 $ 個の風船を用意することができます。
### Sample Explanation 2
ちょうどすべての風船を使うことができます。