// a[i] : i가 입려된적이 있으면 1, 아니면 0
// ( 데이터값의 범위 : 1 ~ 10,000,000) 가 정해져 있으면 메모이제이션
/*
#include <stdio.h>
int main()
{
int i,x,y,a[10000000]={0};
scanf("%d",&y);
for(i=0; i<y; i++)
{
scanf("%d",&x);
a[x]=1;
}
scanf("%d",&y);
for(i=0; i<y; i++)
{
scanf("%d",&x);
printf("%d ",a[x]);
}
return 0;
}
/*
int arr[5];
//arr[0] arr[1] arr[2] arr[3] arr[4]
int arr[]
ar*/
/*
#include <stdio.h>
int main()
{
int i,w,x,y,z,a[35]={0};
scanf("%d",&w);
if(w==0)
{
printf("0");
}
else
{
y=0;
for(i=0; w>1; i++)
{
a[i]=w%2;
w=w/2;
y=y+1;
}
printf("1");
for(i=y-1; i>=0; i--)
{
printf("%d",a[i]);
}
}
return 0;
}
*/
#include <stdio.h>
int main()
{
int i,w,x,y,z,a[10001]={0};
scanf("%d %d",&w,&z);
x=z-1;
for(i=1; i<=w; i++)
{
scanf("%d",&a[i]);
}
for(i=1; i<=w-x; i++)
{
a[i]=a[i]+a[i+x];
}
for(i=1; i<=w-x; i++)
{
if(a[i]>=a[i+1])
{
a[i+1]=a[i];
}
}
printf("%d",a[w-x]);
return 0;
}