Cod sursa(job #2687378)

Utilizator LucaMihaiLM10Luca Ilie LucaMihaiLM10 Data 19 decembrie 2020 22:50:13
Problema Subsecventa de suma maxima Scor 80
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <stdio.h>
int main() {
    FILE *fin, *fout;
    int n, a, maxSuma, suma, st, dr, len, i;
    fin = fopen( "ssm.in", "r" );
    fscanf( fin, "%d%d", &n, &a );
    maxSuma = suma = a;
    st = dr = 1;
    len = 0;
    for ( i = 1; i < n; i++ ) {
        fscanf( fin, "%d", &a );
        if ( suma < 0 )
            suma = len = 0;
        suma += a;
        len++;
        if ( suma > maxSuma ) {
            maxSuma = suma;
            st = i - len + 2;
            dr = i + 1;
        }
    }
    fclose( fin );
    fout = fopen( "ssm.out", "w" );
    fprintf( fout, "%d %d %d", maxSuma, st, dr );
    fclose( fout );
    return 0;
}