Cod sursa(job #2794472)

Utilizator marius004scarlat marius marius004 Data 4 noiembrie 2021 22:31:57
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>
 
std::ifstream f("ssm.in");
std::ofstream g("ssm.out");
 
int n,begin,end,sum,maxx,x,s,solB,solE;
 
int main(){
    
    f >> n;
    
    s = 0;
    begin = end = 1;
    maxx = -((1LL << 31) - 1);
    
    for(int i = 1;i <= n;++i){
        
        f >> x;
        
        if(s < 0){
            begin = i;
            s = x;
        }else{
            s += x;
        }
        
        if(s > maxx){
            maxx = s;
            solB = begin;
            solE = i;
        }
    }
    
    g << maxx << ' ' << solB << ' ' << solE;
    
    return 0;
}