hdu1422 重温世界杯

#include <stdio.h>
#define MAXN 200002
//求最长子序列和
int dp[MAXN];

int main()
{
	int w,l,n,sum,cnt,maxn,i;
	while(scanf("%d",&n)!=EOF)
	{
		for (i=1;i<=n;i++)
		{
			scanf("%d %d",&w,&l);
			dp[i]=dp[i+n]=w-l;
		}
		maxn=cnt=sum=0;
		for (i=1;i<=2*n;i++)
		{
			sum+=dp[i];
			cnt++;
			if(sum<0)
			{
				sum=0;
				cnt=0;
			}
			if(cnt>maxn)
				maxn=cnt;
			if(cnt>n)
				break;
		}
		if(maxn>n)
			maxn=n;
		printf("%d\n",maxn);
	}
	return 0;
}

你可能感兴趣的:(hdu1422 重温世界杯)