/*
#include <stdio.h>
int main()
{
int arr[1000];
int n,i,j;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&arr[i]);
}
for(i=0;i<n;i++)
{
printf("%d: ",i+1 );
for(j=0;j<n;j++)
{
if(i==j)
{
continue;
}
if(arr[i]>arr[j])
{
printf("> ");
}
else if(arr[i]<arr[j])
{
printf("< ");
}
else
{
printf("= ");
}
}
printf("\n");
}
}
memoization : 일차원배열을 데이터에 대한 정보를 저장하는 공간으로 사용
//arr[i] : i번째 입력된 데이터 (x)
//memo[i] :i에 관한 정보 ( i가 입력된 횟수 )
#include <stdio.h>
int main()
{
int memo[24]={};
int n,i,j,t;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&t);
memo[t]++;
}
for(i=1;i<=23;i++)
{
printf("%d ",memo[i]);
}
}
*/
/*
#include <stdio.h>
int main()
{
int memo[10000001]={};
int n,m,i,t;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&t);
memo[t]=1;
}
scanf("%d",&m);
for(i=1;i<=m;i++)
{
scanf("%d",&t);
printf("%d ",memo[t]);
}
}
10 5
3 -2 -4 -9 0 3 7 13 8 -3
31
*/
#include <stdio.h>
int main()
{
int arr[100000]={};
int n,i,j,k,t,sum,max=-10000000;
scanf("%d %d",&n,&k);
for(i=0;i<n;i++)
{
scanf("%d",&arr[i]);
}
sum=0;
for(i=0;i<k;i++)
{
sum+=arr[i];
}
max=sum;
for(i=0;i<n-k;i++)
{
sum=sum-arr[i]+arr[i+k];
if(sum>max)
{
max=sum;
}
}
// max의 초깃값 설정
// 시간초과 -> 중첩반복문 x
printf("%d",max);
}