Cod sursa(job #820347)

Utilizator Master011Dragos Martac Master011 Data 20 noiembrie 2012 19:09:29
Problema Secventa 2 Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <stdio.h>
#define min -100000000
#define max 50001
FILE *fin,*fout;
int v[max],sum[max];
int main()
{
    fin=fopen("secv2.in","r");
    fout=fopen("secv2.out","w");
    int n,k;
    fscanf(fin,"%d%d",&n,&k);
    int i,nrc,pozc=1,pozm=1,inc=k,u;
    int sc=0,smax=min;
    for(i=1;i<=n;i++){
        fscanf(fin,"%d",&v[i]);
        sum[i]=sum[i-1]+v[i];
    }
    sc=sum[k];
    smax=sum[k];
    for(i=k+1;i<=n;i++){
        if(sum[i] - sum[i-k] > sc+v[i]){
            sc = sum[i] - sum[i-k];
            pozc = i - k + 1;
        }
        else sc += v[i];
        u=i;
        if(sc>smax){
            smax=sc;
            pozm=pozc;
            inc=u;
        }
    }
    fprintf(fout,"%d %d %d",pozm,inc,smax);
    fclose(fin);
    fclose(fout);
    return 0;
}