#include<iostream>
using namespace std;
int n,m,q[100005];
long long s[100005],f[100005];
long long g(int i){
if(!i)return 0;
return f[i-1]-s[i];
}
int main()
{
int i,h=0,t=0;
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)scanf("%lld",&s[i]),s[i]+=s[i-1];
for(i=1;i<=n;i++){
if(q[h]<i-m)h++;
f[i]=max(f[i-1],g(q[h])+s[i]);
while(h<=t&&g(q[t])<=g(i))t--;
q[++t]=i;
}
printf("%lld\n", f[n]);
return 0;
}