比赛 20121023 评测结果 WAAAAWAAAA
题目名称 圆圈舞蹈 最终得分 80
用户昵称 TBK 运行时间 0.046 s
代码语言 C++ 内存使用 0.86 MiB
提交时间 2012-10-23 20:35:02
显示代码纯文本
#include <cstdlib>
#include <cmath>
#include <cstring>
#include <cstdio>
#include <string>
#include <iostream>
#include <set>
#include <algorithm>
using namespace std;
int a[200005],b,c,d,l,m,n,t,s;
int main(void)
{
	freopen ("circlea.in","r",stdin);
	freopen ("circlea.out","w",stdout);
	scanf("%d",&b);
	for (c=1;c<=b;c++) 
	{
		scanf("%d",&a[c]);
		t+=a[c];
	}
	for (c=b+1;c<=2*b;c++) a[c]=a[c-b];
	d=1;
	for (c=1;c<=b;c++)
	{
		l-=a[c-1];
		for (;d<2*b;d++)
			if (l>t/2) break;
				else l+=a[d];
		d--;
		m=l<t-l?l:t-l;
		n=l-a[d]<t-l+a[d]?l-a[d]:t-l+a[d];
		n=m>n?m:n;
		if (n>s) s=n;
	}
	printf("%d",s);
	fclose(stdin);
	fclose(stdout);
	return 0;
}