Cod sursa(job #503528)

Utilizator mattapoMatei Apolzan mattapo Data 23 noiembrie 2010 16:11:28
Problema Buline Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<stdio.h>
int v[200001];
int main ()
{
	int n,i,j,nr,c,sc,p,l,min=999999,s2=0,max=0;
	freopen("buline.in","r",stdin);
	freopen("buline.out","w",stdout);
	scanf("%d",&n);
	for (i=1;i<=n;i++)
	{
		scanf("%d %d",&nr,&c);
		if (c==1)
			v[i]=nr;
		else
			v[i]=-nr;
		s2=s2+v[i];
	}
	j=1;
	for(i=1;i<=n;i++)
    {

		sc=sc+v[i];
		if (sc>max)
		{
            max=sc;
			p=j;
			l=i-j+1;
		}
	
      if (sc<0)
        {
			j=i+1;
			sc=0;
		}
	}
	j=1;
	sc=0;
	for (i=1;i<=n;i++)
	{
		sc=sc+v[i];
		if (sc<min)
		{
			min=sc;
			p=j;
			l=i-j+1;
		}
		if (sc>0)
		{
			j=i+1;
			sc=0;
		}
	}
	max=s2-min;
    p=p+l;
	l=n-l;
	printf("%d %d %d",max,p,l);
	return 0;
}