Cod sursa(job #2169538)

Utilizator Turturica_DorinTurturica Dorin Turturica_Dorin Data 14 martie 2018 16:02:01
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.88 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");

#define val ( 1 << 30 )

int n, x[ 5 ], i, s, sMAX, ssf, sin, in;

int main()
{
    fin >> n;
    x[ 1 ] = - val;
    sMAX = - val;
    s = -1;
    for ( i = 1; i <= n; i++ )
    {
        fin >> x[ 2 ];
        if ( x[ 2 ] < x[ 1 ] || s >= 0 )
        {
            s += x[ 2 ];
            if ( s > sMAX )
            {
                sMAX = s;
                ssf = i;
                sin = in;
            }
        }
        else if ( x[ 2 ] >= x[ 1 ] || s < 0 )
        {
            in = i;
            s = x[ 2 ];
            if ( s > sMAX )
            {
                sMAX = s;
                sin = i;
                ssf = i;
            }
        }
        x[ 1 ] = s;
    }
    fout<< sMAX <<' ' << sin << ' ' << ssf;
}