Cod sursa(job #3166004)
| Utilizator | Data | 7 noiembrie 2023 13:45:53 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 85 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.48 kb |
#include <fstream>
#include <climits>
int main() {
std::ifstream fin("ssm.in");
std::ofstream fout("ssm.out");
long long n, elem, best = -9223372036854775807, sum = 0, beg_idx, end_idx;
fin >> n;
for (long long 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;
}