Cod sursa(job #2211252)
Utilizator | Tutuldunsa Voronokda zvon | Data | 9 iunie 2018 17:14:02 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
#include<iostream>
#include<fstream>
using namespace std;
ifstream fi("ssm.in");
ofstream fo("ssm.out");
int N;
int main() {
int best = -1<<31;
int a, k, s = 0, start, end;
fi >> N;
for (int i = 1; i <= N; i++) {
fi >> a;
if (s < 0) {
s = a;
k = i;
} else {
s += a;
}
if (best < s) {
best = s;
start = k;
end = i;
}
}
fo << best << ' ' << start << ' ' << end;
fi.close();
fo.close();
return 0;
}