这是最难的题
题号:NC200437
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 64 M,其他语言128 M
64bit IO Format: %lld

题目描述

PC被恶龙掳走了,作为一名王子,你并打不过恶龙,所以你需要武装你的士兵一起去战胜恶龙。
但是恶龙太强了,以至于每个士兵都得有m种不同的装备才能与掳走PC的恶龙去战斗。
现在你有n种装备,每种装备有a_i件,你想知道你最多能武装多少名士兵(不要求每个士兵装备相同,只用凑出m种不同的装备,就可以获得pc的祝福)?

输入描述:

先输入一个值n,再输入一个值m,接下来一行n个数,第i个数a_i代表第i个装备的数量。

输出描述:

一个整数,你能够武装的最多士兵数。
示例1

输入

复制
5 3
3 1 2 3 3

输出

复制
4

备注:

数据范围:1 <= m , n <= 1e5, 1 <= a[i] <= 1e9