当前位置: 代码迷 >> 综合 >> Hust oj 1648 Tailmon与序列(水题)
  详细解决方案

Hust oj 1648 Tailmon与序列(水题)

热度:34   发布时间:2023-12-22 04:28:08.0
Tailmon与序列
Time Limit: 1000 MS Memory Limit: 32768 K
Total Submit: 37(26 users) Total Accepted: 28(26 users) Rating: Special Judge: No
Description

Tailmon正在研究一串序列,这个序列包含了n个整数。现在它正想着通过一定的操作使得这串序列变得有相同数字越多越好。而这个操作只能是如下的:

它会选定序列中的2个数ai,aj当然i!=j,然后它将ai増加1,将aj减少1,即ai=ai+1, aj=aj-1

以上的操作会改变该序列中的两个不同的元素,Tailmon可以进行上述操作无限次,只求将该序列中的数变成某一个数越多越好。现在他想知道通过上述操作无限多次,最多能得到多少个相同的数。

Input

本题有多组测试数据。每组测试数据由2行组成。

第一行一个整数n(1<=n<=10^5),代表序列中元素个数。

第二行,包含n个由空格分隔的整数,这些整数都在(-10^4<=ai<=10^4)范围内。

Output

对每组测试数据输出一行,该行包含一个整数代表通过上述操作后序列中相同大小的数最多有多少个。

Sample Input

2

2 1

3

1 4 1

Sample Output

1

#include<cstdio>
#include<iostream>
using namespace std;const int Maxn = 100005;
int a[Maxn];int main()
{int n;while(~scanf("%d",&n)){int sum = 0;for(int i=0;i<n;i++){scanf("%d",&a[i]);sum += a[i];}if(sum % n == 0)printf("%d\n",n);elseprintf("%d\n",n-1);}
}