Cod sursa(job #517793)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 29 decembrie 2010 21:55:40
Problema Subsecventa de suma maxima Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include<iostream.h>
long t,n,i,j,k,s,b,max,l;
int main()
{freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
cin>>n;
j=l=k=1;
max=-1000;
s=b=0;
for(i=1;i<=n;i++)
      {cin>>t;
      if(b>s)
              {b=s;
              l=i;}
      s+=t;
      if(max<s-b)
              {max=s-b;
              k=i;}
      if(l<=k&&s>0&&b<0)
              j=l;}
if(max<0)
      j=k;
cout<<max<<" "<<j<<" "<<k<<endl;
fclose(stdin);
fclose(stdout);
return 0;}