#include<bits/stdc++.h>
using namespace std;
int n,m,p,sum[100010],ans = INT_MIN;
deque<int> minn;
void add(int k){
while(k - minn.front() > m){
minn.pop_front();
}
ans = max(ans,sum[k] - sum[minn.front()]);
while(minn.empty() == false and sum[minn.back()] > sum[k]){
minn.pop_back();
}
minn.push_back(k);
}
int main(){
cin >> n >> m;
if(m == 0){
cout << 0;
return 0;
}
for(int i = 1;i <= n;i ++){
cin >> p;
sum[i] = sum[i - 1] + p;
}
minn.push_back(0);
for(int i = 1;i <= n;i ++){
add(i);
}
cout << ans;
return 0;
}