Cod sursa(job #590653)
Utilizator | Data | 19 mai 2011 00:35:02 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.61 kb |
#include <stdio.h>
#include <iostream>
#include <fstream>
#define MAX_INT
int main()
{
int n, x, i, i1, i2;
int sum = -99999, s = -99999, start = -1, end = -1;
std::ofstream out_f;
std::ifstream in_f;
in_f.open("ssm.in");
out_f.open ("ssm.out");
in_f >> n;
for (i = 1; i <= n; i++) {
in_f >> x;
if (s < 0) {
s = x;
i1 = i;
} else
s = s + x;
if (s > sum)
{
start = i1;
end = i;
sum = s;
}
}
out_f << sum << " " << start << " " << end;
out_f.close();
in_f.close();
return 0;
}