比赛 20121023 评测结果 AAAAAAAAWW
题目名称 圆圈舞蹈 最终得分 80
用户昵称 song 运行时间 0.161 s
代码语言 C++ 内存使用 1.08 MiB
提交时间 2012-10-23 21:45:45
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
int n,head=1;
long long ni[100000]={0},sum=0,ans=0;
int minn(int x,int y)
{
	if(x<y)
	{
		return x;
	}
	return y;
}
int maxn(int x,int y)
{
	if(x>y)
	{
		return x;
	}
	return y;
}
int main()
{
	freopen("circlea.in","r",stdin);
	freopen("circlea.out","w",stdout);
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>ni[i];
		sum=sum+ni[i];
	}
	int sumi=ni[1];
	for(int i=2;i<=n;i++)
	{
		sumi=sumi+ni[i];
		if(sumi<sum/2)
		{
			int p=minn(sumi,sum-sumi);
			ans=maxn(ans,p);
		}
		while(sumi>=sum/2)
		{
			int p=minn(sumi,sum-sumi);
			ans=maxn(ans,p);
			sumi=sumi-ni[head];
			head++;
		}
	}
	cout<<ans;
}