Cod sursa(job #2231722)

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

using namespace std;

#define MAX 6000006

int best[MAX],v[MAX];

int main(){
    int n;
    cin >> n;

    for(int i = 1 ; i <= n ; i++)
        cin >> v[i];
    int mn = 0,start= 0 ,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];
            start = i+1;
        }
        if(best[i] > mx){
            mx = best[i];
            finish = i ;
        }
    }

    cout << mx << " " << start << " " << finish ;


}