Cod sursa(job #3166003)
| Utilizator | Data | 7 noiembrie 2023 13:42:49 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 85 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.44 kb |
#include <fstream>
int main() {
std::ifstream fin("ssm.in");
std::ofstream fout("ssm.out");
int n, elem, best = -int(2e9), sum = 0, beg_idx, end_idx;
fin >> n;
for (int i = 1; i <= n; i++) {
fin >> elem;
if (sum < 0) {
sum = elem;
beg_idx = i;
}
else
sum += elem;
if (best < sum) {
best = sum;
end_idx = i;
}
}
fout << best << " " << beg_idx << " " << end_idx;
return 0;
}