Cod sursa(job #1614024)

Utilizator dinurosca03Rosca Dinu Cristian dinurosca03 Data 25 februarie 2016 19:27:23
Problema Secventa 2 Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <stdio.h>
#include <stdlib.h>
int vector[50001];
int main()
{
    int n,k,i,x,sumacur,suma,pc,p,u;
    FILE *fin,*fout;
    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);
        vector[i]=vector[i-1]+x;
    }
    sumacur=suma=vector[k];
    pc=p=1;
    u=k;
    for(i=k+1; i<=n; i++)
    {
        fscanf(fin,"%d",&x);
        vector[i]=vector[i-1]+x;
        if(vector[i]-vector[i-k]>sumacur+x)
        {
            pc=i-k+1;
            sumacur=vector[i]-vector[i-k];
        }
        else
            sumacur=sumacur+x;
        if(sumacur>suma)
        {
            suma=sumacur;
            p=pc;
            u=i;
        }
    }
    fprintf(fout,"%d %d %d\n",p,u,suma);
    fclose(fin);
    fclose(fout);

    return 0;
}