Cod sursa(job #2539167)

Utilizator marius004scarlat marius marius004 Data 5 februarie 2020 18:36:15
Problema Subsecventa de suma maxima Scor 85
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
 
std::ifstream f("ssm.in");
std::ofstream g("ssm.out");

const int NMAX = 6'000'005;
int n,v[NMAX],maxx;

int main(){
    
    f >> n;
    
    for(int i = 1;i <= n;++i)
        f >> v[i];
    
    int s = v[1];
    int start = 1;
    int end = 1;
    
    for(int i = 2;i <= n;++i){
        
        s += v[i];
        
        if(s < 0){
            start = i + 1;
            s = 0;
        }
        
        if(s > maxx){
            maxx = s;
            end = i;
        }
    }
    
    g << maxx << ' ' << start << ' ' << end;
    
    return 0;
}