Cod sursa(job #377843)

Utilizator eudanipEugenie Daniel Posdarascu eudanip Data 26 decembrie 2009 17:44:54
Problema Secventa 2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include<stdio.h>
int v[50001],n,k,s[50001],min[50001],poz[50001],p1,p2,smax,sm;
int main ()
{
    int i;
    freopen("secv2.in","r",stdin);
    freopen("secv2.out","w",stdout);
    scanf("%d%d",&n,&k);
    for(i=1;i<=n;i++)
    {
        scanf("%d",&v[i]);
        s[i]=s[i-1]+v[i];
    }
    for(i=1;i<=n;i++)
    {
        if(v[i]<min[i-1])
        {
            min[i]=v[i];
            poz[i]=i;
        }
        else
        {
            min[i]=min[i-1];
            poz[i]=poz[i-1];
        }
        if(i>=k)
        {
            sm=s[i]-min[i-k];
            if(sm>smax)
            {
                smax=sm;
                p1=poz[i-k]+1;
                p2=i;
            }    //if
        }   //if i>=k
    }   // for
    printf("%d %d %d\n",p1,p2,smax);
    return 0;
}