Cod sursa(job #2909489)

Utilizator Cala_cc09Christian Cala Cala_cc09 Data 13 iunie 2022 22:30:22
Problema Subsecventa de suma maxima Scor 40
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <stdio.h>

int main()
{
    FILE *fin=fopen("ssm.in", "r");
    FILE *fout=fopen("ssm.out", "w");
    int n;
    int S[30005];
    fscanf(fin, "%d", &n);
    for(int i=0; i<n; ++i)
        fscanf(fin, "%d", &S[i]);

    int bestSum = -10000000, sum = 0, beg, end, idx;
    for(int i=0; i<n; ++i)
    {
        if (sum < 0)
            sum = S[i], idx = i;
        else
            sum += S[i];
        if (bestSum < sum)
            bestSum = sum, beg = idx, end = i;
    }
    fprintf(fout, "%d %d %d", bestSum, beg+1, end+1);

    fclose(fin);
    fclose(fout);
    return 0;
}