Cod sursa(job #2539187)
Utilizator | Data | 5 februarie 2020 18:50:09 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include <fstream>
std::ifstream f("ssm.in");
std::ofstream g("ssm.out");
int n,x,s,begin,maxx = -((1 << 31) - 1),end;
int main(){
f >> n;
begin = end = 1;
for(int i = 1;i <= n;++i){
f >> x;
if(s < 0){
s = 0;
begin = i;
}else{
s += x;
}
if(s > maxx){
maxx = s;
end = i;
}
}
g << maxx << ' ' << begin << ' ' << end;
return 0;
}