Cod sursa(job #2707282)
| Utilizator | Data | 16 februarie 2021 19:05:10 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.61 kb |
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int main() {
int n;
fin >> n;
int idx, interval_deschis, interval_inchis, ans = -int(2e9), x, v;
for (int i = 1; i <= n; ++i) {
fin >> v;
if (x == 0) {
idx = i;
}
x += v;
if (ans < x) {
ans = x;
interval_inchis = i;
interval_deschis = idx;
}
x = max(x, 0);
}
fout << ans << " " << interval_deschis << " " << interval_inchis;
return 0 ;
}
