Cod sursa(job #2608426)
| Utilizator | Data | 1 mai 2020 12:30:31 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include <fstream>
#include <algorithm>
std :: ifstream fin ("ssm.in");
std :: ofstream fout("ssm.out");
int main() {
int n, index_i = 0, index_j = 0;
int sum = 0;
int max_sum = -2147483647;
int* arr;
fin >> n;
arr = new int[n];
for (int i = 0;i < n;i ++)
fin >> arr[i];
for (int i = 0;i < n;i ++) {
sum += arr[i];
index_j = i;
max_sum = std :: max(sum, max_sum);
if (sum < 0) {
sum = 0;
index_i = i + 1;
}
}
fout << max_sum << ' ' << (index_i) + 1 << ' ' << (index_j);
return 0;
}