Cod sursa(job #2473918)

Utilizator KarinaDKarina Dumitrescu KarinaD Data 14 octombrie 2019 15:00:26
Problema Subsecventa de suma maxima Scor 85
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <stdio.h>
int main()
{
    FILE *fin = fopen("ssm.in", "r");
    FILE *fout = fopen("ssm.out", "w");
    int smax, sc, i, x, n, pc, max, pmax;
    fscanf(fin, "%d", &n);
    smax = 1 << 31;
    sc = 0;
    for (i = 0; i < n; i++)
    {
        fscanf(fin, "%d", &x);
        if (x > sc + x)
        {
            sc = x;
            pc = i;
        }
        else
        {
            sc += x;
        }
        if (sc > smax)
        {
            smax = sc;
            pmax = pc;
            max = i;
        }
    }
    fprintf(fout, "%d %d %d", smax, pmax + 1, max + 1);
    fclose(fin);
    fclose(fout);
    return 0;
}