Cod sursa(job #1112028)

Utilizator Stefanescu_MihaiStefanescu Mihai-Nicolae Stefanescu_Mihai Data 19 februarie 2014 12:55:34
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include <fstream>

using namespace std;

#define MaxN 6000050
#define lowinf -1000000000

int main()
{
    ifstream f1( "ssm.in" );
    ofstream f2( "ssm.out" );

    int n, i, c;
    f1 >> n;

    int curs = lowinf, curlo, curhi;
    int maxs = lowinf, maxlo, maxhi;

    for ( i = 1; i <= n; ++i )
    {
        f1 >> c;

        if ( curs > 0 )         //  ( curs + c > c )
        {
            curs += c;
            ++curhi;
        }
        else
        {
            curs = c;
            curlo = curhi = i;
        }

        if ( curs > maxs )
        {
            maxs = curs;
            maxlo = curlo;
            maxhi = curhi;
        }
    }

    f2 << maxs << ' ' << maxlo << ' ' << maxhi << '\n';

    f1.close();
    f2.close();

    return 0;
}