Pagini recente » Cod sursa (job #3291363) | Cod sursa (job #2085512) | Cod sursa (job #1309746) | Cod sursa (job #494058) | Cod sursa (job #2289933)
#include <stdio.h>
const long NMAX = 6000005;
long v[NMAX];
long N;
int main() {
freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);
scanf("%ld", &N);
for (long i = 1; i <= N; ++i) {
scanf("%ld", &v[i]);
}
long b,e;
long cr_sum = v[1];
long sum = cr_sum;
b = e = 1;
long fb, fe;
for (long i = 2; i <= N; ++i) {
if (cr_sum < 0) {
b = e = i;
cr_sum = v[i];
} else {
cr_sum += v[i];
e = i;
}
if (cr_sum > sum) {
sum = cr_sum;
fb = b;
fe = e;
} else if (cr_sum == sum) {
if (e - b < fe - fb) {
fb = b;
fe = e;
}
}
}
printf("%ld %ld %ld", sum, fb, fe);
fclose(stdin);
fclose(stdout);
return 0;
}