Cod sursa(job #1576734)

Utilizator VasilescuVasilescu Eliza Vasilescu Data 22 ianuarie 2016 19:52:46
Problema Secventa 2 Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <stdio.h>

int s[50001];

int main(){
    FILE *fin, *fout;
    fin=fopen("secv2.in", "r");
    fout=fopen("secv2.out", "w");

    int n, k, i, x, sc, smax, pc, pi, ui;

    fscanf(fin, "%d%d",&n, &k);

    for(i=1; i<=k; i++)
    {
        fscanf(fin, "%d",&x);
        s[i]=s[i-1]+x;
    }
    sc=smax=s[k];
    pc=pi=1;
    ui=k;
    for(i=k+1; i<=n; i++)
    {
        fscanf(fin, "%d",&x);
        s[i]=s[i-1]+x;
        if(s[i]-s[i-k]>sc+x)
        {
            pc=i-k+1;
            sc=s[i]-s[i-k];
        }
        else
            sc+=x;
        if(sc>smax)
        {
            smax=sc;
            pi=pc;
            ui=i;
        }
    }
    fprintf(fout, "%d %d %d",pi,ui,smax);

    fclose(fin);
    fclose(fout);

    return 0;
}