rt,WA on#7,已红温
#include<bits/stdc++.h>
using namespace std;
long long n,m,a[100001],h,t=1;
long long dp[100001];
long long qu[100001];
int main(){
cin>>n>>m;
long long sum=0;
for(long long i=1;i<=n;i++){
cin>>a[i];
sum+=a[i];
}
qu[++t]=0;m++;
for(long long i=1;i<=n;i++){
while( h<t && qu[h]+m<i ) h++;
dp[i]=dp[qu[h]]+a[i];
while(h<t&&dp[qu[t-1]]>=dp[i]) t--;
qu[t++]=i;
}
long long ans=2147483647;
for(long long i=n-m+1;i<=n;i++){
if(dp[i]<ans) ans=dp[i];
}
cout<<sum-ans;
return 0;
}