Cod sursa(job #2211821)
Utilizator | Tutuldunsa Voronokda zvon | Data | 11 iunie 2018 22:24:19 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include<iostream>
#include<fstream>
using namespace std;
ifstream fi("ssm.in");
ofstream fo("ssm.out");
int N;
int main(){
int i, a;
int start = 0, end = 0, sum = 0, best =-1<<31, mps = 1 << 30, mpsi = 1;
fi >> N;
for (i = 1; i <= N; i++) {
fi >> a;
sum += a;
if (best < sum - mps) {
best = sum - mps;
start = mpsi + 1;
end = i;
}
if (mps > sum) {
mps = sum;
mpsi = i;
}
}
fo << best << ' ' << start << ' ' << end;
fi.close();
fo.close();
return 0;
}