Cod sursa(job #1769494)

Utilizator mihai.alphamihai craciun mihai.alpha Data 2 octombrie 2016 17:15:51
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <stdio.h>
#define max(a, b)(a > b ? a : b)

int main()  {
FILE *fin = fopen("perle2.in", "r"), *fout = fopen("perle2.out", "w");
long long n, sc,scurent, smax = -999999999, elem, first, last, maxlast, lastc, firstc, maxfirst;
int i, k;
fscanf(fin, "%lld%lld", &n, &k);
sc = 0;
for(i = 1;i <= n;i++)  {
    fscanf(fin, "%lld", &elem);
    elem -= k;
    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, "%lld", smax);
fclose(fin);
fclose(fout);
return 0;
}