Cod sursa(job #1455630)
Utilizator | Data | 28 iunie 2015 17:32:42 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 85 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.39 kb |
#include <stdio.h>
int main(){
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
int N, S, Smax;
int x, i, start, end;
scanf("%d ", &N);
S = Smax = 0;
start = 1;
for(i=1; i<=N; i++){
scanf("%d ", &x);
S += x;
if(S < 0){
S = 0;
start = i + 1;
} else {
if(S > Smax){
Smax = S;
end = i;
}
}
}
printf("%d %d %d",Smax, start,end);
return 0;
}