Cod sursa(job #660623)
Utilizator | Data | 13 ianuarie 2012 11:34:16 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include <cstdio>
int main(){
int bestsum=-2000000000,lst=1,ldr=1,sum=-2000000000,el,lsb=1;
int n;
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%d", &n);
for(int i=1; i<=n; ++i){
scanf("%d", &el);
if(sum+el>=el){
sum+=el;
}
else{
lst=i;
sum=el;
}
if(sum>bestsum){
lsb=lst;
ldr=i;
bestsum=sum;
}
}
printf("%d %d %d", bestsum, lsb, ldr);
}