Pagini recente » Cod sursa (job #3131986) | Cod sursa (job #2253810) | Cod sursa (job #2292301) | Cod sursa (job #254202) | Cod sursa (job #1939369)
#include <stdio.h>
#define MAXN 6000000
#define INF 2000000000
int v[MAXN];
int main(void) {
int n, maxSum, beg, end, s, curr;
FILE *f = fopen("ssm.in", "r");
fscanf(f, "%d", &n);
for (int i = 0; i < n; ++i) {
fscanf(f, "%d", &v[i]);
}
fclose(f);
maxSum = -INF;
beg = end = curr = s = 0;
for (int i = 0; i < n; ++i) {
if (s < 0) {
curr = i;
s = v[i];
} else {
s += v[i];
}
if (maxSum < s) {
maxSum = s;
beg = curr;
end = i;
}
}
f = fopen("ssm.out", "w");
fprintf(f, "%d %d %d\n", maxSum, beg + 1, end + 1);
fclose(f);
return 0;
}