Cod sursa(job #515773)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 22 decembrie 2010 12:53:58
Problema Subsecventa de suma maxima Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include<iostream.h>
#define N 6000001
int main()
{long n,i,j=1,max=-N,k=1,s,b,t,s1,b1,j1=1,p=0,l=1,min;
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
cin>>n;
cin>>t;
if(t<0)
      p++;
b=s=min=t;
for(i=2;i<=n;i++)
      {cin>>t;
      if(t<0)
            p++;
      if(min<t)
            {min=t;
            l=i;}
      s1=s+t;
      if(b>s)
            {b=s;
            j1=i;}
      if(max<s1-b)
            {max=s1-b;
            k=i;}
      s=s1;
      if(j1<k)
            j=j1;}
if(p==n)
      cout<<min<<" "<<l<<" "<<l;
else
      if(j>k)
             cout<<max<<" "<<k<<" "<<k;
      else
             cout<<max<<" "<<j<<" "<<k;
fclose(stdin);
fclose(stdout);
return 0;}