Cod sursa(job #3197522)

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

#define INF 2000000000

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

    fscanf( fin, "%d", &n );
    sc = smax = element;

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

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

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

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