Cod sursa(job #2232124)

Utilizator rnqftwcalina florin daniel rnqftw Data 17 august 2018 14:19:24
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include<bits/stdc++.h>

using namespace std;

#define MAX (int)6e6

int v[MAX],start,finish,idx = 1;

int main(){
    ifstream in("ssm.in");
    ofstream out("ssm.out");
    int n ;
    in >> n;

    for(int i = 1; i <= n ; i ++){
        in >> v[i];
        v[i] += v[i-1];
    }
    int mn = 0 , mx = -(int)2e6;
    for(int i = 1 ; i <= n ; i++){
        if(v[i] - mn >mx ){
            mx = v[i] - mn ;
            start = idx ;
            finish = i ;
        }
        if(mn > v[i]){
            mn = v[i];
            idx = i + 1;
        }
    }

    out << mx <<" "<<start<<" " << finish ;

}