Cod sursa(job #270931)

Utilizator dexter_dexMutascu Adrian - Dragos dexter_dex Data 4 martie 2009 18:40:47
Problema Buline Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.05 kb
#include<stdio.h>
int poz1,poz2,lung1,lung2,i,v[20010],n,semn,lung;
long s1,s=2000000000,s2,smax=2000000000,S;


int main()
{

FILE*f=fopen("buline.in","r");
FILE*g=fopen("buline.out","w");

fscanf(f,"%d",&n);
for (i=1;i<=n;i++)
   {
    fscanf(f,"%d %d",&v[i],&semn);
    if (semn==0) v[i]=v[i]*(-1);

    if (s+v[i]<=v[i])
	    {
	     lung++;
	     s=s+v[i];
	    }

    else  {
	   lung=1;
	   s=v[i];
	  }
    if (smax<=s) ;

       else
	{
	 poz1=i;
	 lung1=lung;
	 smax=s;
	}
    S+=v[i];
   }
poz1+=1;
if (poz1>n)
    poz1=poz1-n;
s1=S-smax;
lung1=n-lung1;

/*smax=-2000000000;
s=-2000000000;
lung=0;
for (i=1;i<=n;i++)
    {

     if (s+v[i]>=v[i])
	 {
	  lung++;
	  s=s+v[i];
	 }

	else  {
	       lung=1;
	       s=v[i];
	      }
    if (smax>=s) ;
	else
		{poz2=i;
		 lung2=lung;
		 smax=s;
		}
    }
s2=smax;
poz2=poz2-lung2+1;

if(s1>=s2)

       fprintf(g,"%ld %d %d",s1,poz1,lung1);

  else*/

       fprintf(g,"%ld %d %d",s1,poz1,lung1);


fclose(f);
fclose(g);
return 0;
}