Cod sursa(job #296574)

Utilizator ooctavTuchila Octavian ooctav Data 4 aprilie 2009 22:19:45
Problema Buline Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
// buline.cpp : Defines the entry point for the console application.
//

#include <stdio.h>
int i,e[400001],sc=0,smax=-200000000,semn,st=1,dr=1,l,n,sfin;
int main()
{
	freopen("buline.in","r",stdin);
	freopen("buline.out","w",stdout);
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	{
		scanf("%d %d",&e[i],&semn);
		if(semn==0)
			e[i]=-e[i];
	}
	for(i=n+1;i<2*n;i++)
		e[i]=e[i-n];
	for(i=1;i<2*n;i++)
	{
		if(i-n==st)
			break;
		sc=sc+e[i];
		if(sc>smax)
		{
			dr=i;
			smax=sc;
			sfin=st;
		}
		if(sc<0)
		{
			sc=0;
			st=i+1;
		}

	}

	l=dr-sfin+1;
	printf("%d %d %d",smax,sfin,l);
	return 0;
}