Cod sursa(job #75262)

Utilizator vanila_CPPIonescu Victor Cristian vanila_CPP Data 31 iulie 2007 19:19:11
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.27 kb
#include <stdio.h>
long n,k;
long aux[50001],v[50001];


void iofile(void)
{
        long i;
        freopen("secv2.in","r",stdin);
        freopen("secv2.out","w",stdout);
        scanf("%ld%ld",&n,&k);
        aux[0]=0;
        for (i=1;i<=n;i++)
                {
                        scanf("%ld",&v[i]);
                        aux[i]=aux[i-1]+v[i];
                }
        fclose(stdin);
}


void secventa(void)
{
        long i,j,poz,p,max,sum,u;
        max=aux[k];
        sum=aux[k];
        p=1;
        poz=1;
        u=k;
        for (i=k+1;i<=n;i++)
                {
                        sum=sum+v[i];
                        if ((aux[i]-aux[i-k])>sum)
                                {
                                        sum=aux[i]-aux[i-k];
                                        p=i-k+1;
                                }
                        if (sum>max)
                                {
                                        max=sum;
                                        poz=p;
                                        u=i;
                                }
                }
        printf("%ld %ld %ld\n",poz,u,max);
        fclose(stdout);
}


int main(void)
{
        iofile();
        secventa();
}