Cod sursa(job #1249505)

Utilizator TarabanDragosTaraban Dragos-Petru TarabanDragos Data 27 octombrie 2014 02:12:10
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<cstdio>
int n,k,i,j,v[50100],x[50100],s,p,u,pmax,umax,smax,sol[50100];
FILE *f,*g;
int main(){
    f=fopen("secv2.in","r");
    g=fopen("secv2.out","w");
    fscanf(f,"%d%d",&n,&k);
    for(i=1;i<=n;i++){
        fscanf(f,"%d",&v[i]);
        x[i]=x[i-1]+v[i];
    }
    sol[k]=x[k];
    smax=sol[k];
    p=pmax=1;
    umax=k;
    for(i=k+1;i<=n;i++){
        if(sol[i-1]+v[i]<x[i]-x[i-k]){
            p=i-k+1;
            sol[i]=x[i]-x[i-k];
        }
        else
            sol[i]=sol[i-1]+v[i];
        if(sol[i]>smax){
            smax=sol[i];
            pmax=p;
            umax=i;
        }
    }
    fprintf(g,"%d %d %d",pmax,umax,smax);
    fclose(f);
    fclose(g);
    return 0;
}