Pagini recente » Cod sursa (job #992345) | Cod sursa (job #2558858) | Cod sursa (job #3220128) | Cod sursa (job #676362) | Cod sursa (job #2404022)
#include <iostream>
#include <cstdio>
#include <limits>
using namespace std;
int main() {
FILE *fin = fopen("ssm.in", "r");
FILE *fout = fopen("ssm.out", "w");
int n, i, x, maxim = INT_MIN, s = 0, st, dr, stmax, drmax;
fscanf(fin, "%d", &n);
st = dr = 0;
for(i = 0; i < n; i++) {
fscanf(fin, "%d", &x);
s += x;
if(s > maxim) {
maxim = s;
dr = i;
stmax = st;
drmax = dr;
}
else if(x > maxim) {
s = x;
maxim = x;
st = i;
dr = i;
stmax = drmax = i;
}
else if(s < 0) {
s = 0;
st = i + 1;
dr = i + 1;
}
}
fprintf(fout, "%d %d %d", maxim, stmax + 1, drmax + 1);
return 0;
}