Cod sursa(job #2129121)

Utilizator Hidden.bdBurlacu Doru Hidden.bd Data 12 februarie 2018 16:03:26
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n, v[7000005], st = 1, dr = 1, stF;
int x;

int main(){
    
    
    v[0] = 0;
    fin >> n;
    
    bool deja = false;
    int best = -100000;
    for( int i = 1 ; i <= n ; ++i ){
        fin >> x;
        v[i] += x;
        if( v[i] >= 0 ){
            v[i+1] += v[i];
            //if( i == 2 ) cout << v[i];
            if( !deja ){
                deja = true;
                st = i;
            }
           
            //if( i == 5 ) cout << v[i];
        }else{
            deja = false;
            st = i;
        }

        if( v[i] > best ){
            
            stF = st;
            dr = i;
            best = v[i];
        }
    }
    //cout << v[5];
    fout << best << " " << stF << " " <<  dr;
    
    
    return 0;
}