Cod sursa(job #282255)

Utilizator eudanipEugenie Daniel Posdarascu eudanip Data 17 martie 2009 10:45:06
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include<stdio.h>
#include<values.h>
long n,in,inm,sf,i,a,s,smax,amax,pozi;
int main ()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%ld",&n);
in=1;
amax=-MAXLONG;
for(i=1;i<=n;i++)
{
 scanf("%ld",&a);
 if(a>amax)
  {
	amax=a;
	pozi=i;
  }
 s=s+a;
 if(s<0)
  {
   s=0;
   in=i+1;
   }
else
{
 if(s>smax)
 { smax=s;
  inm=in;
  sf=i;
 }//if
}//else
}//for
if(amax>0)
printf("%ld %ld %ld",smax,inm,sf);
else
   printf("%ld %ld %ld",amax,pozi,pozi);
return 0;
}