N,K=map(int,input().split())
A=[int(x) for x in input().split()]

dp=[0 for x in range(N)]

#最後に（白か黒か）塗るKマスを求める。
#dp[i]：iからKマスの総和。
#max(dp[i])が該当箇所。
#max(dp[i])<0ならば塗らない方が良いので０を出力。max(dp[i])>0ならばその部分を最後に黒く塗る。
#重要なのは該当部分以外はKマスの制約を考えなくて良いこと。i->i+K-1マス黒く塗った後にi+1->i+Kマス白く塗れば独立する

for i in range(N-(K-1)):
  dp[i]=sum(A[i:i+K])

#もっとも大きい総和をもつ長さKの区間とその開始位置を探索。
en=N
ab=-(10**10)
for i in range(N-(K-1)):
  if dp[i]>ab:
    ab=dp[i]
    en=i
    
#上記は最後に黒く塗るのでそれ以外は自由に塗ることができる
#どの区間をとっても０以下ならば塗らないので答えは０
ans=0
if ab>0:
  ans+=dp[en]
  for i in range(N):
    if not(en<= i <=en+(K-1)):
      ans+=max(0,A[i])

print(ans)