Cod sursa(job #270804)

Utilizator dexter_dexMutascu Adrian - Dragos dexter_dex Data 4 martie 2009 17:05:21
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include<stdio.h>
int poz1,poz2,lung1,lung2=0,i,x,n;
long s=-2000000000,smax=-2000000000;


int main()
{

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

fscanf(f,"%d",&n);
for (i=1;i<=n;i++)
   {
    fscanf(f,"%d",&x);

    if (s+x>=x) {lung2++;
	     s=s+x;
	    }
 
   else  {poz2=i;
	  lung2=1;
	  s=x;
	 }
   if (smax>s) ;
   else if (smax==s) {if (lung2<lung1) 
                           {poz1=poz2;
                            lung1=lung2;}
                     }
       else
	{poz1=poz2;
	 lung1=lung2;
	 smax=s;
	}
   }


fprintf(g,"%ld %d %d",smax,poz1,poz1+lung1-1);
fclose(f);
fclose(g);
return 0;
}