Cod sursa(job #1529677)

Utilizator tybyboomTiberiu Musat tybyboom Data 21 noiembrie 2015 10:24:32
Problema Subsecventa de suma maxima Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.74 kb
#include <stdio.h>
#include <stdlib.h>

int main()
{
    FILE *fin = fopen("ssm.in", "r"), *fout = fopen("ssm.out", "w");
    int b, n, k, sc, smax, i, imax, jmax;
    fscanf(fin, "%d%d", &n, &b);
    sc = b;
    i = 0;
    smax = b;
    imax = 0;
    jmax = 0;
    for(k = 1; k < n; k++){
        fscanf(fin, "%d", &b);
        sc += b;
        if(sc > smax){
            smax = sc;
            jmax = k;
            imax = i;
        }
        if(sc < 0 && k != n - 1){
            sc = 0;
            i = k + 1;
        }
    }
    if(sc > smax){
        smax = sc;
        jmax = k - 1;
        imax = i;
    }
    fprintf(fout, "%d %d %d\n", smax, imax + 1, jmax + 1);
    fclose(fin);
    fclose(fout);
    return 0;
}