Cod sursa(job #1692774)

Utilizator TudorVersoiuVersoiu Tudor Sorin TudorVersoiu Data 21 aprilie 2016 17:13:28
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <algorithm>
#include <iostream>
#include <fstream>

using namespace std;
ifstream f("ssm.in" );
ofstream g("ssm.out");

int v[6000006], sum[6000006], BEST, START, END, N, idx, minSum;



int main() {
    f >> N;

    for ( int i=1 ; i<=N ; i++ )
        f >> v[i];


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

    for ( int i=1 ; i<=N ; i++ ) {
        if ( sum[i] - minSum  > BEST ) BEST = sum[i] - minSum, START = idx, END = i;
        if ( minSum > sum[i] ) minSum = sum[i], idx = i;
    }

    g << BEST << ' ' << START+1 << ' ' << END;
}