Cod sursa(job #411404)

Utilizator Anonymous1010Chilivercu Cristian Anonymous1010 Data 4 martie 2010 21:24:14
Problema Buline Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include<stdio.h>

int i,n,a,i1,i2,j1,j2,min,max,s1,s2,s,ok,k1,k2;

int main()
{
	freopen("buline.in","r",stdin);
	freopen("buline.out","w",stdout);
	
	scanf("%d",&n);
	
	max=-10002;
	min=-max;
	
	for(i=1;i<=n;i++)
	{
		scanf("%d %d",&a,&ok);
		
		if(!ok)
			a=-a;
		
		s+=a;
		
		if(s1+a>a)
		{
			s1+=a;
			
			if(max<s1)
			{
				max=s1;
				i1=k1;
				j1=i;
			}
		}
		else
		{
			s1=a;
			k1=i;
			
			if(max<s1)
			{
				max=s1;
				i1=k1;
				j1=i;
			}
		}
		
		if(s2+a<a)
		{
			s2+=a;
			
			if(min>s2)
			{
				min=s2;
				i2=k2;
				j2=i;
			}
		}
		else
		{
			s2=a;
			k2=i;
			
			if(min>s2)
			{
				min=s2;
				i2=k2;
				j2=i;
			}
		}
	}
	
	if(max>s-min)
		printf("%d %d %d",max,i1,j1-i1+1);
	else
	{
		if(j2==n)
			printf("%d 1 %d",s-min,n-j2+i2-1);
		else
			printf("%d %d %d",s-min,j2+1,n-j2+i2-1);
	}
	
	return 0;
}