Cod sursa(job #2296662)
Utilizator | Temes George Semetg | Data | 4 decembrie 2018 21:36:26 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.58 kb |
#include <fstream>
using namespace std;
ifstream in { "ssm.in" };
ofstream out { "ssm.out" };
int main() {
int n; in >> n;
int sol = 1 << 31, start { 1 }, start_sol { 1 }, end_sol { 1 }, suma { 0 };
for (int i { 1 }; i <= n; ++i) {
int x; in >> x;
if (suma < 0) {
suma = x;
start = i;
} else {
suma += x;
}
if (sol < suma) {
sol = suma;
start_sol = start;
end_sol = i;
}
}
out << sol << ' ' << start_sol << ' ' << end_sol;
}