Cod sursa(job #25219)

Utilizator slayer4uVictor Popescu slayer4u Data 4 martie 2007 11:28:46
Problema Buline Scor 30
Compilator cpp Status done
Runda preONI 2007, Runda 3, Clasa a 9-a si gimnaziu Marime 0.53 kb
#include<stdio.h>
long x[400001],n,i,j,a,b,max,lg,inc,sum;
int main()
{
	freopen ("buline.in","rt",stdin);
	freopen ("buline.out","wt",stdout);

	scanf("%ld",&n);

	for (i=1;i<=n;i++)
	{
		scanf("%ld %ld",&a,&b);
	
		if (b==0)
			x[i]=-a;
		else
			x[i]=a;

	}

	for (i=1;i<=n;i++)
		x[n+i]=x[i];

	max=0;
	for (i=1;i<=n;i++)
	{
		sum=0;
		for (j=i;j<=i+n-1;j++)
		{
			sum+=x[j];
			if (sum>max)
			{
				max=sum;
				inc=i;
				lg=j-i+1;
			}
		}
	}

	printf("%ld %ld %ld\n",max,inc,lg);

	return 0;
}