Cod sursa(job #3197578)

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

#define INF -2000000000

int n, left, right, smax = INF;

int main( )
{
    FILE *fin, *fout;
    int i, element, current_sum = 0, pos = 1;
    fin = fopen( "ssm.in", "r" );

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

        if( current_sum >= 0 )
        {
            current_sum += element;
        }
        else
        {
            pos = i + 1;
            current_sum = element;
        }

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

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