Cod sursa(job #353587)

Utilizator Anamaria20Cotirlea Anamaria Anamaria20 Data 5 octombrie 2009 17:54:19
Problema Buline Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <stdio.h>

FILE *f,*s;

int n,i,max,lun,poz,v1[200005],v2[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==1)
			v1[i]=v1[i-1]+x;
		else
			v1[i]=v1[i-1]-x;
		
		
		if(v1[v2[i-1]]>v1[i])
			v2[i]=v2[i-1];
		else
			v2[i]=i;
	}	
	
	max=-1000000000;
	
	for(i=1;i<=n;i++)
	{
		if(v1[v2[i-1]]+v1[n]-v1[i-1]>max)
		{
			max=v1[v2[i-1]]+v1[n]-v1[i-1];
			poz=i;
			
		}
	}	
		
	fprintf(s,"%d %d %d",max,poz,0);
	
	fclose(s);
	
	return 0;
}