Cod sursa(job #313275)

Utilizator IoannaPandele Ioana Ioanna Data 8 mai 2009 17:11:10
Problema Secventa 2 Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.25 kb
#include<stdio.h>   
long v[50010];   
long inc,sf;   
long smax,n,k;   
  
void read()   
{   
    scanf("%ld%ld",&n,&k);   
    long i;   
    for (i=1;i<=n;i++)   
    {   
        scanf("%ld",&v[i]);   
    }   
}   
  
void rez()   
{   
    long i;   
    long st,dr;   
    long s=0;   
    st=dr=1;   
    s=v[1];   
    smax=s;   
    for (i=2;i<=n;i++)   
    {   
        if (s+v[i]>0 || (s+v[i]<=0 && dr-st+1<k))   
        {   
            s+=v[i];   
            dr++;   
            if (dr-st+1>=k)   
                if (s>smax)   
                {   
                    smax=s;   
                    inc=st;   
                    sf=dr;   
                }   
        }   
        else    
        {   
            if (dr-st+1>=k)   
                if (s>smax)   
                {   
                    smax=s;   
                    inc=st;   
                    sf=dr;   
                }   
            st=i;   
            s=v[i];   
            dr=i;   
        }              
    }   
printf("%ld %ld %ld\n",inc,sf,smax);       
}   
  
int main()   
{   
    freopen("secv2.in","r",stdin);   
    freopen("secv2.out","w",stdout);   
    read();   
    rez();   
    return 0;   
}