Cod sursa(job #516071)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 23 decembrie 2010 09:49:40
Problema Subsecventa de suma maxima Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<stdio.h>
#define N 6000001
int main()
{long n,i,j=1,max=-N,k=1,s=0,b=0,t,j1=1;
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%ld\n",&n);
for(i=1;i<=n;i++)
      {scanf("%ld",&t);
      s+=t;
      if(t>0)
            {if(b>s-t)
                    {b=s-t;
                    j1=i;}
            if(max<s-b)
                    {max=s-b;
                    k=i;
                    if(j1<=k)
                            j=j1;}}
      else
            if(max<s-b)
                    {max=s-b;
                    j=k=i;}}
printf("%ld %ld %ld\n",max,j,k);
fclose(stdin);
fclose(stdout);
return 0;}