Cod sursa(job #517811)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 29 decembrie 2010 22:24:39
Problema Subsecventa de suma maxima Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include<stdio.h>
long n,i,j=1,k=1,s=0,b=0,max=-1000,l=1;
int t;
int main()
{freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%ld\n",&n);
for(i=1;i<=n;i++)
      {scanf("%d",&t);
      if(b>s)
              {b=s;
              l=i;}
      s+=t;
      if(max<s-b&&(t>0||b==s-t))
              {max=s-b;
              k=i;}
      if(l<=k&&(max==s-b||b==s-t))
              j=l;}
if(max<0)
      j=k;
printf("%ld %ld %ld\n",max,j,k);
fclose(stdin);
fclose(stdout);
return 0;}