from collections import deque
ss=0
n,k=map(int,input().split())
num=[]
for i in range(n):
num.append(int(input()))
ss=sum(num)
stk=deque()
dp=[0 for i in range(n)]
for i in range(k+1):
dp[i]=num[i]
while (len(stk)!=0 and dp[stk[-1]]>dp[i]):
stk.pop()
stk.append(i)
for i in range(k+1,n):
while (stk[0]<i-k-1):stk.popleft()
dp[i]=dp[stk[0]]+num[i]
while (len(stk)!=0 and dp[stk[-1]]>dp[i]):
stk.pop()
stk.append(i)
ans=float("inf")
for i in range(n-k-1,n):
ans=min(ans,dp[i])
print(ss-ans)