Cod sursa(job #736017)
Utilizator | Marius Gavrilescu Marius96 | Data | 17 aprilie 2012 18:20:34 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.39 kb |
#include<cstdio>
int main()
{
freopen ("ssm.in","r",stdin);
freopen ("ssm.out","w",stdout);
int n;
scanf ("%d",&n);
int m=-2100000000;
int b=-2100000000;
int s=0;
int e=0;
int ms=0;
int me=0;
for(int i=1;i<=n;i++){
int x;
scanf ("%d",&x);
if(b+x>=x){
b=b+x;
e++;
} else if(x>b){
b=x;
s=e=i;
}
if(b>m)
m=b,ms=s,me=e;
}
printf ("%d %d %d",m,ms,me);
return 0;
}