记录编号 427609 评测结果 AAAAA
题目名称 [NOIP 2002]均分纸牌 最终得分 100
用户昵称 GravatarCSU_Turkey 是否通过 通过
代码语言 C++ 运行时间 0.001 s
提交时间 2017-07-22 16:20:01 内存使用 0.35 MiB
显示代码纯文本
#include<bits/stdc++.h>
/*诶呀不小心看评论了但还是不很懂啊...
我猜猜哈
假设只有两堆不符合,那么一次一次移过去就可以了
如果有3个,肯定把最左或者最右移向中间(或者反过来中间往两边,可以理解为移了-n张牌),再继续移到另一边 
那么以此类推,只要按顺序扫一遍就出来了*/
using namespace std;
int n,a[10005];
int main()
{
	freopen("jfzp.in","r",stdin);
	freopen("jfzp.out","w",stdout);
	scanf("%d",&n);
	int ans=0;
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&a[i]);
		ans+=a[i];
	}
	ans=ans/n;
	int cnt=0;
	for(int i=1;i<=n;i++)
	{
		if(a[i]!=ans)
		{
			int r=a[i]-ans;
			a[i+1]+=r;
			cnt++;
		}
	}
	cout<<cnt;
	return 0;
}