Cod sursa(job #1773754)

Utilizator mihai.alphamihai craciun mihai.alpha Data 8 octombrie 2016 10:35:28
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <stdio.h>
#define max(a, b)(a > b ? a : b)

int main()  {
FILE *fin = fopen("ssm.in", "r"), *fout = fopen("ssm.out", "w");
int n, sc,scurent, smax = -999999999, elem, first, last, maxlast, lastc, firstc, maxfirst;
int i;
fscanf(fin, "%d", &n);
sc = 0;
for(i = 1;i <= n;i++)  {
    fscanf(fin, "%d", &elem);
    scurent = max(elem, sc + elem);
    first = firstc;
    if(elem > sc+elem)
        first = i;
    if(scurent > smax)  {
        maxfirst = first;
        maxlast = i;
        smax = scurent;
    }
    sc = scurent;
    firstc = first;
}
fprintf(fout, "%d %d %d", smax, maxfirst, maxlast);
fclose(fin);
fclose(fout);
return 0;
}