Cod sursa(job #1652039)
Utilizator | Avram Andrei Marius Avramus | Data | 14 martie 2016 16:08:32 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 70 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include<fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n, v[6000000];
void generare() {
int sum = -1;
int maxim = 0 - 1 << 30;
int start, end;
for (int i = 1; i <= n; i++) {
sum += v[i];
if (sum > maxim) {
maxim = sum;
end = i;
}
if (sum < 0) {
sum = 0;
start = i+1;
}
}
fout << maxim << " " << start << " " << end;
}
int main() {
fin >> n;
for (int i = 1; i <= n; i++)
fin >> v[i];
generare();
return 0;
}