评测数据非官方,由本站自行生成。
小 R 有 n 颗能量水晶,其中第 i (1≤i≤n) 颗的能量值为整数 ai。
小 R 想用其中若干颗能量水晶合成一颗大水晶,用于合成的水晶必须具有相同的能量值。小 R 希望参与合成的水晶尽可能多。他可以进行至多 m 次操作。每次操作可以任选一颗水晶,将其能量值增加 1;同一颗水晶可以被重复选择。
你需要帮助小 R 求出,进行至多 m 次操作后,他最多能用多少颗能量水晶合成一颗大水晶。
输入格式
从文件 crystal.in 中读入数据。
输入的第一行包含一个正整数 n 和一个非负整数 m,分别表示能量水晶的数量和最多可以进行的操作次数。
输入的第二行包含 n 个整数 a1,a2,…,an,依次表示每颗能量水晶的能量值。
输出格式
输出到文件 crystal.out 中。
输出一行一个正整数,表示进行至多 m 次操作后,小 R 最多能用多少颗能量水晶合成一颗大水晶。
样例 1
输入:
15 521 2 4 8 9
输出:
13
样例 2
输入:
15 82-3 -1 2 2 7
输出:
14
说明与数据范围
样例 1 解释
小 R 有 5 颗能量水晶,能量值分别为 1,2,4,8,9。他可以对能量值为 1 和 2 的水晶分别操作 3 次和 2 次,使原来能量值为 1,2,4 的三颗水晶的能量值都变成 4,共进行 5 次操作。因此小 R 可以用 3 颗能量水晶合成一颗大水晶。
样例 3
见题目目录下的 crystal/3.in 与 crystal/3.ans。
该样例满足测试点 8,9 的约束条件。
样例 4
见题目目录下的 crystal/4.in 与 crystal/4.ans。
该样例满足测试点 10∼12 的约束条件。
数据范围
对于所有测试数据,均有:
- 1≤n≤5×105,0≤m≤1018;
- 对于所有 i (1≤i≤n),均有 ∣ai∣≤1012。
| 测试点编号 |
n≤ |
m≤ |
maxi=1n∣ai∣≤ |
特殊性质 |
| 1,2 |
5 |
10 |
20 |
无 |
| 3∼5 |
16 |
1000 |
20 |
无 |
| 6,7 |
5000 |
106 |
100 |
无 |
| 8,9 |
5000 |
109 |
105 |
无 |
| 10∼12 |
5×105 |
108 |
100 |
无 |
| 13∼15 |
5×105 |
1018 |
1012 |
A |
| 16∼18 |
5×105 |
1018 |
1012 |
B |
| 19,20 |
5×105 |
1018 |
1012 |
无 |
特殊性质 A:对于所有 i (1≤i≤n),均有 ai=i。
特殊性质 B:a1,a2,…,an 构成等差数列。