Cod sursa(job #541642)
Utilizator | Data | 25 februarie 2011 12:49:42 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.33 kb |
#include<fstream.h>
ifstream f("ssm.in");
ofstream g("ssm.out");
int i,n,s,max=-2000000000,p,u,p1,u1,k,x;
int main()
{
f>>n; s=0;
p=p1=u=u1=k=i=1;
for(i=1;i<=n;i++)
{f>>x;
if(s<0){s=0;k=i;}
s+=x;
if(s>max){max=s;p=k;u=i;p1=p;u1=u;}
else if(s==max)if(i-k<u-p){u=i;p=k;}
}
g<<max<<" "<<p<<" "<<u;
return 0;
}