Cod sursa(job #1060179)

Utilizator mucenic_b101Bogdan Mucenic mucenic_b101 Data 17 decembrie 2013 18:33:31
Problema Subsecventa de suma maxima Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
//subsir de suma maximala : http://www.infoarena.ro/problema/ssm
#include <cstdio>

int main () {

    FILE *f, *g;
    f = fopen( "ssm.in", "r" );
    g = fopen( "ssm.out", "w" );

    int n, x, ssm, maxssm, inc, sf, maxic, maxsf;

    fscanf( f, "%d%d", &n, &x );
    ssm = x;
    maxssm = x;
    inc = sf = 0;
    maxic = maxsf = 0;

    for( int i = 1; i < n ; ++i ) {
        fscanf( f, "%d", &x );
        if( ssm + x > 0 ) {
            ssm += x;
            ++sf;
        }
        else {
            ssm = x;
            inc = sf = i;
        }
        if( ssm > maxssm ) {
            maxssm = ssm;
            maxic = inc;
            maxsf = sf;
        }
    }

    fprintf( g, "%d %d %d\n", maxssm, maxic + 1, maxsf + 1 );

    fclose( f );
    fclose( g );

    return 0;
}