Cod sursa(job #1922471)
Utilizator | Data | 10 martie 2017 17:37:16 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.51 kb |
#include <fstream>
using namespace std;
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");
int main (){
int N,x;
fin >> N;
fin >> x;
int best = x;
int sum = x;
int poz_start,poz_final, ind;
for (int i = 2; i <= N; ++i){
fin >> x;
if (sum + x < x){
ind = i;
sum = x;
}
else sum = sum + x;
if (sum > best){
poz_start = ind;
poz_final = i;
best = sum;
}
}
fout << best << " " << poz_start << " " << poz_final << "\n";
}