Cod sursa(job #3197519)

Utilizator vladimir.gavris.1Gavris Mihai Vladimir vladimir.gavris.1 Data 27 ianuarie 2024 09:04:56
Problema Subsecventa de suma maxima Scor 85
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.8 kb
#include <stdio.h>

int main()
{
    FILE *fin, *fout;
    int n, i, element, smax, sc, left, right, p;
    fin = fopen( "ssm.in", "r" );

    fscanf( fin, "%d%d", &n, &element );
    sc = smax = element;
    if( sc < 0 )
    {
        sc = smax = 0;
    }

    left = right = 0;
    p = 0;
    for( i = 1; i < n; i++ )
    {
        fscanf( fin, "%d", &element );

        if( sc > smax )
        {
            smax = sc;
            left = p + 1;
            right = i;
        }

        if( sc < 0 )
        {
            sc = element;
            p = i;
        }
        else
        {
            sc += element;
        }
    }
    fclose( fin );

    fout = fopen( "ssm.out", "w" );
    fprintf( fout, "%d %d %d", smax, left, right );
    fclose( fout );
    return 0;
}