比赛 20091026 评测结果 WAWWWWWWWW
题目名称 货物搬运 最终得分 10
用户昵称 Makazeu 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2011-10-26 22:03:33
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <cstdlib>
using namespace std;

int absint(int a)
{
	if(a<0)
		return -a;
	else
		return a;
}

int N,avg,ans;
int S[20001];
int T[20001];

int main()
{
	int i;
	freopen("move.in","r",stdin);
	freopen("move.out","w",stdout);
	cin >> N;
	for (i=1;i<=N;i++)
	{
		cin >> S[i];
		avg+=S[i];
	}
	avg/=N;
	
	for (int i=1;i<=N;i++)
	{
		S[i+N]=S[i];
	}		
	int Max=0x7fffffff;
	int tmp;
	for (int j=1;j<=N;j++)
	{
		ans=0;
		for (int i=j;i<=N+j;i++)
		{
			T[i-j+1]=S[i];
		}
		
		for (int i=j;i<N+j;i++)
		{
			if (T[i]!=avg)
			{
				tmp=T[i]-avg;
				T[i+1]+=tmp;
				T[i]=avg;
				ans+=absint(tmp);
			}
		}
		if(ans<Max)
			Max=ans;
	}
	cout<<Max<<endl;
	return 0;
}