← 查看本卷题目 第 1 / 86 题
编程题

能量水晶

1 秒 / 测试点 · 1024 MiB · 20 个测试点 · 按训练分组计分。

评测数据非官方,由本站自行生成。

小 R 有 nn 颗能量水晶,其中第 ii (1≤i≤n)(1 \le i \le n) 颗的能量值为整数 aia_i。

小 R 想用其中若干颗能量水晶合成一颗大水晶,用于合成的水晶必须具有相同的能量值。小 R 希望参与合成的水晶尽可能多。他可以进行至多 mm 次操作。每次操作可以任选一颗水晶,将其能量值增加 11;同一颗水晶可以被重复选择。

你需要帮助小 R 求出,进行至多 mm 次操作后,他最多能用多少颗能量水晶合成一颗大水晶。

输入格式

从文件 crystal.in 中读入数据。

输入的第一行包含一个正整数 nn 和一个非负整数 mm,分别表示能量水晶的数量和最多可以进行的操作次数。

输入的第二行包含 nn 个整数 a1,a2,…,ana_1,a_2,\ldots,a_n,依次表示每颗能量水晶的能量值。

输出格式

输出到文件 crystal.out 中。

输出一行一个正整数,表示进行至多 mm 次操作后,小 R 最多能用多少颗能量水晶合成一颗大水晶。

样例 1

输入:

5 51 2 4 8 9

输出:

3

样例 2

输入:

5 8-3 -1 2 2 7

输出:

4

说明与数据范围

样例 1 解释

小 R 有 55 颗能量水晶,能量值分别为 1,2,4,8,91,2,4,8,9。他可以对能量值为 11 和 22 的水晶分别操作 33 次和 22 次,使原来能量值为 1,2,41,2,4 的三颗水晶的能量值都变成 44,共进行 55 次操作。因此小 R 可以用 33 颗能量水晶合成一颗大水晶。

样例 3

见题目目录下的 crystal/3.in 与 crystal/3.ans。

该样例满足测试点 8,98,9 的约束条件。

样例 4

见题目目录下的 crystal/4.in 与 crystal/4.ans。

该样例满足测试点 10∼1210 \sim 12 的约束条件。

数据范围

对于所有测试数据,均有:

  • 1≤n≤5×1051 \le n \le 5 \times 10^5,0≤m≤10180 \le m \le 10^{18};
  • 对于所有 ii (1≤i≤n)(1 \le i \le n),均有 ∣ai∣≤1012|a_i| \le 10^{12}。
测试点编号 n≤n \le m≤m \le max⁡i=1n∣ai∣≤\max_{i=1}^{n} \lvert a_i \rvert \le 特殊性质
1,21,2 55 1010 2020 无
3∼53 \sim 5 1616 10001000 2020 无
6,76,7 50005000 10610^6 100100 无
8,98,9 50005000 10910^9 10510^5 无
10∼1210 \sim 12 5×1055 \times 10^5 10810^8 100100 无
13∼1513 \sim 15 5×1055 \times 10^5 101810^{18} 101210^{12} A
16∼1816 \sim 18 5×1055 \times 10^5 101810^{18} 101210^{12} B
19,2019,20 5×1055 \times 10^5 101810^{18} 101210^{12} 无

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

特殊性质 B:a1,a2,…,ana_1,a_2,\ldots,a_n 构成等差数列。