Skip to content

洛谷 P17831 · 难度 普及/提高−

题目描述 ​

小 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 解释 ​

小 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。

::cute-table

测试点编号n≤m≤maxi=1n|ai|≤特殊性质
1,251020无
3∼5161000^^
6,75000106100^
8,9^109105^
10∼125×105108100^
13∼15^10181012A
16∼18^^^B
19,20^^^无

特殊性质 A:对于所有 i (1≤i≤n),均有 ai=i。

特殊性质 B:a1,a2,…,an 构成等差数列。

样例 ​

样例 1 ​

输入

text
5 5
1 2 4 8 9

输出

text
3

样例 2 ​

输入

text
5 8
-3 -1 2 2 7

输出

text
4