Cod sursa(job #292318)

Utilizator ooctavTuchila Octavian ooctav Data 30 martie 2009 23:57:12
Problema Buline Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
// buline.cpp : Defines the entry point for the console application.
//

#include <stdio.h>

int main()
{
	freopen("buline.in","r",stdin);
	freopen("buline.out","w",stdout);
	int i,primul=1,e[200001],sc=0,smax=-200000000,semn,x,st=1,dr=1,l,n;
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	{
		scanf("%d %d",&e[i],&semn);
		if(semn==0)
			e[i]=-e[i];
	}
	for(i=1;i<=n;i++)
	{
		if(!primul && i==st)
			break;
		sc=sc+e[i];
		if(sc>smax)
		{
			dr=i;
			smax=sc;
		}
		if(sc<0)
		{
			sc=0;
			st=i+1;
		}
		if(i==n && primul)
		{
			i=0;
			primul=0;
		}
	}
	if(dr>=st)
		l=dr-st+1;
	else
		l=n-st+1+dr;
	printf("%d %d %d",smax,st,l);
	return 0;
}