CF246B.Increase and Decrease

传统题 时间 2000 ms 内存 256 MiB 7 尝试 24 已通过 10 标签

Increase and Decrease

题目描述

Polycarpus 有一个由 nn 个整数 a1,a2,...,ana_{1},a_{2},...,a_{n} 组成的数组。Polycarpus 喜欢数组中的数字相同。因此他希望数组中有尽可能多的相等数字。为此,Polycarpus 可以多次执行以下操作:

  • 他选择数组中的两个元素 aia_{i}aja_{j}iji\neq j);
  • 他同时将 aia_{i}11,将 aja_{j}11,即执行 ai=ai+1a_{i}=a_{i}+1aj=aj1a_{j}=a_{j}-1

上述操作每次都会改变两个不同的数组元素。Polycarpus 可以无限次执行这种操作。

现在他想知道,通过任意次数的操作后,数组中最多能有多少个元素是相等的。请你帮助 Polycarpus 计算。

输入格式

第一行包含一个整数 nn1n1051\le n\le 10^{5}),表示数组的大小。第二行包含用空格分隔的 nn 个整数 a1,a2,...,ana_{1},a_{2},...,a_{n}ai104|a_{i}|\le 10^{4}),即原始数组的元素。

输出格式

输出一个整数,表示经过任意次数操作后,数组中最多能有多少个数字相等。

说明/提示

由 ChatGPT 5 翻译

样例

2
2 1
1
3
1 4 1
3

在线编程 IDE

建议全屏模式获得最佳体验