Cod sursa(job #1576757)

Utilizator andrei20003Ionescu Andrei andrei20003 Data 22 ianuarie 2016 20:04:16
Problema Secventa 2 Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <stdio.h>

int sp[50001];

int main()
{
    FILE *fin,*fout;
    int n, k, x, i, sc, sm, pc, pm, um;
    fin=fopen("secv2.in","r");
    fout=fopen("secv2.out","w");
    fscanf(fin,"%d%d", &n, &k);
    for (i=1;i<=k;i++) {
        fscanf(fin,"%d", &x);
        sp[i]=sp[i-1]+x;
    }
    sc=sm=sp[k];
    pc=pm=1;
    um=k;
    for (i=k+1;i<=n;i++) {
        fscanf(fin,"%d", &x);
        sp[i]=sp[i-1]+x;
        if (sp[i]-sp[i-k]>sc+x) {
            pc=i-k+1;
            sc=sp[i]-sp[i-k];
        }
        else
            sc+=x;
        if(sc>sm) {
            sm=sc;
            pm=pc;
            um=i;
        }
    }
    fprintf(fout,"%d %d %d", pm, um, sm);
    return 0;
}