Pagini recente » Cod sursa (job #498447) | Cod sursa (job #615558) | Cod sursa (job #3040922) | Cod sursa (job #1820778) | Cod sursa (job #2404021)
#include <iostream>
#include <cstdio>
using namespace std;
int main() {
FILE *fin = fopen("ssm.in", "r");
FILE *fout = fopen("ssm.out", "w");
int n, i, x, maxim = -1, s = 0, st, dr, stmax, drmax;
fscanf(fin, "%d", &n);
st = dr = 0;
stmax = drmax = 0;
for(i = 0; i < n; i++) {
fscanf(fin, "%d", &x);
if(i == 0) {
maxim = x;
stmax = drmax = 0;
}
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;
}