Cod sursa(job #2231723)

Utilizator rnqftwcalina florin daniel rnqftw Data 15 august 2018 18:41:17
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include<bits/stdc++.h>

using namespace std;

#define MAX 6000006

int best[MAX],v[MAX];

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

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

    for(int i = 1 ; i <= n ; i ++)
        v[i] +=v[i-1];

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

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


}