Cod sursa(job #515758)
| Utilizator | Data | 22 decembrie 2010 12:17:33 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 65 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.55 kb |
#include<iostream.h>
#define N 6000001
int main()
{long n,i,j=1,max=-N,k=1,s=0,b=0,t,s1,b1,j1=1;
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
cin>>n;
for(i=1;i<=n;i++)
{cin>>t;
s1=s+t;
if(b>s)
{b1=s;
j1=i;}
else
b1=b;
if(max<s1-b1)
{max=s1-b1;
k=i;}
s=s1;
b=b1;
if(j1<k)
j=j1;}
if(j>k)
cout<<max<<" "<<k<<" "<<k;
else
cout<<max<<" "<<j<<" "<<k;
fclose(stdin);
fclose(stdout);
return 0;}
