Cod sursa(job #679485)
Utilizator | Data | 13 februarie 2012 12:50:04 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.47 kb |
#include<stdio.h>
long i, j, n, inc, sf, x;
int main()
{
freopen("ssm.in", "rt", stdin);
freopen("ssm.out", "wt", stdout);
long best = 0, nr = 0, max = -100;
scanf("%ld", &n);
for(i = 1; i <= n; i++){
scanf("%ld", &x);
if(best + x >= x){
best = best + x; nr++;
}
else{
best = x; nr = 1;
}
if(max < best){
max = best;
sf = i; inc = sf - nr + 1;
}
}
printf("%ld %ld %ld\n", max, inc, sf);
return 0;
}