Cod sursa(job #1769191)

Utilizator caesar2001Stoica Alexandru caesar2001 Data 2 octombrie 2016 00:31:07
Problema Secventa 2 Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <stdio.h>
#include <stdlib.h>
FILE *in,*out;
a[50001];
int main()
{
    in = fopen("secv2.in","r");
    out = fopen("secv2.out","w");
    int n,k,x,i,p=1,sc,umax,pmax,smax=-2147483646,sn;
    fscanf(in,"%d %d\n",&n,&k);
    for(i = 1;i <= n;i ++)
    {
        fscanf(in,"%d",&x);
        a[i] = a[i-1] + x;
    }
     smax=a[k];
    sc=a[k];
    pmax=1;
    umax=k;
    for(i=k+1; i<=n; i++)
    {
        if(sc+(a[i]-a[i-1])>=a[i]-a[i-k])
            sc+=a[i]-a[i-1];
        else
        {
            sc=a[i]-a[i-k];
            p=i-k+1;
        }
        if(sc>smax)
        {
            smax=sc;
            pmax=p;
            umax=i;
        }
    }
    fprintf(out,"%d %d %d",pmax,umax,smax);
    return 0;
}