Cod sursa(job #354296)

Utilizator Anamaria20Cotirlea Anamaria Anamaria20 Data 7 octombrie 2009 18:03:29
Problema Buline Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<stdio.h>

FILE *f,*s;

int n,i,sum1,sum2,max1,max2,inc1,inc2,sfr1,sfr2,x1,x2,v[200005];

int main()
{
	
	f=fopen("buline.in","r");
	s=fopen("buline.out","w");
	
	fscanf(f,"%d",&n);
	
	for(i=1;i<=n;i++)
	{
		int x,y;
		
		fscanf(f,"%d %d",&x,&y);
		
		if(y==0)
			x*=(-1);
		
		v[i]=v[i-1]+x;
	}	
	
	for(i=1;i<=n;i++)
	{
		if(v[i]-max1<sum1||i==1)
		{
			sum1=v[i]-max1;
		
		}	
		
		if(v[i]>max1)
		{	
			max1=v[i];
			
		}
		
		if(v[i]-max2>sum2||i==1)
		{
			sum2=v[i]-max2;
			
			inc2=x2+1;
			sfr2=i-inc2;
		
		}	
		
		if(v[i]<max2)
		{	
			max2=v[i];
			
			x2=i;
		}	
		
	}
	
	
	if(sum2>v[n]-sum1)
		fprintf(s,"%d %d %d",sum2,inc2,sfr2);
	else
		fprintf(s,"%d %d %d",v[n]-sum1,0,0);

	
	fclose(s);
	
	return 0;
}