Cod sursa(job #1549562)
Utilizator | Data | 12 decembrie 2015 14:44:54 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 95 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.52 kb |
#include <iostream>
#include <fstream>
std::ifstream fin("ssm.in");
std::ofstream fout("ssm.out");
int sumaMaxima = 0, s = 0, pozInit = 1, pozFin, n, aux, p = 1;
int main(int argc, char *argv[]){
fin >> n;
for (int i = 1; i <= n; i++){
fin >> aux;
if (s < 0)
s = aux, p = i;
else
s += aux;
if (sumaMaxima < s)
sumaMaxima = s, pozInit = p, pozFin = i;
}
fout << sumaMaxima << " " << pozInit << " " << pozFin;
return 0;
}