比赛 夭寿的小练习 评测结果 AAAAAAAAAA
题目名称 分金币 最终得分 100
用户昵称 NVIDIA 运行时间 0.014 s
代码语言 C++ 内存使用 15.57 MiB
提交时间 2016-10-19 09:30:16
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
long long a[1000005],c[1000005];
int main()
{
	freopen("Wealth.in","r",stdin);
	freopen("Wealth.out","w",stdout);
	int n;
	while(scanf("%d",&n) == 1)
	{
		long long tot = 0;
		for(int i = 1;i <= n;++i)
		{
			scanf("%lld",&a[i]);
			tot+=a[i];
		}
		long long M = tot/n;
		c[0] = 0;
		for(int i = 1;i < n;++i)
		c[i] = c[i-1] + a[i] - M;
		sort(c,c+n);
		long long x = c[n/2],ans = 0;
		for(int i = 0;i <= n-1;++i)
		ans = ans + abs(x-c[i]);
		printf("%lld\n",ans);
	}
	return 0;
}