Cod sursa(job #168148)

Utilizator mihai_floreaFlorea Mihai Alexandru mihai_florea Data 30 martie 2008 20:14:36
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <cstdio>
int a[50005],n,k,i,ls,ld,j,p;
long long s[50005],aux;
int max(long long x,long long y){
    return (x>y ? x:y);
}
int main(){
    freopen("secv2.in","r",stdin);
    freopen("secv2.out","w",stdout);
    scanf("%d %d",&n,&k);
    for (i=1;i<=n;i++) scanf("%d",&a[i]);
    ls=1;ld=k;s[0]=0;p=1;
    for (i=1;i<=n;i++) s[i]=s[i-1]+a[i];
    for (i=k+1;i<=n;i++)
     {if (s[i]-s[i-k]>s[i]-s[p-1])
        p=i-k+1;
      aux=max(s[ld]-s[ls-1],s[i]-s[p-1]);
      if (aux==s[i]-s[p-1]) {ls=p;
                             ld=i;};
       }
    printf("%d %d %lld",ls,ld,s[ld]-s[ls-1]);
    return 0;
}