Cod sursa(job #1534565)
| Utilizator | Data | 23 noiembrie 2015 20:01:53 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.45 kb |
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n;
fin >> n;
int bestsum = -0x3f3f3f3f, sum = 0;
int beg, end, idx = 0;
for(int i = 0 ; i < n ; ++ i) {
int x;
fin >> x;
if(sum < 0) {
sum = x;
idx = i;
}
else
sum += x;
if(bestsum < sum) {
bestsum = sum;
beg = idx;
end = i;
}
}
fout << bestsum << ' ' << beg + 1 << ' ' << end + 1 << '\n';
}
