Cod sursa(job #787440)
Utilizator | Data | 13 septembrie 2012 13:40:11 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.4 kb |
#include <cstdio>
int N, bestSum = 1<<31, s = 0;
int b,e,x,k;
int main () {
freopen("ssm.in","rt",stdin);
freopen("ssm.out","wt",stdout);
scanf("%d",&N);
for (int i=0; i<N; ++i) {
scanf("%d, ", &x);
if (s < 0) s=x, k = i;
else s+=x;
if (s > bestSum) b=k, bestSum = s, e = i;
}
printf("%d %d %d", bestSum, b+1, e+1);
return 0;
}