#include <bits/stdc++.h>
using namespace std;
#define io {ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);}
const int maxN=1e5;
int N,K;
long num[maxN];
deque<int> Q;
int main() {
io
cin >> N >> K;
num[0]=0;
for(int i=1; i<=N; i++){
cin >> num[i];
num[i]+=num[i-1];
}
Q.push_back(0);
long ans=0;
for(int i=1; i<=N; i++){
if(i-Q.front()>K){
Q.pop_front();
}
while(!Q.empty() and num[Q.back()]>=num[i])
Q.pop_back();
Q.push_back(i);
ans=max(ans,num[i]-num[Q.front()]);
//cout << num[Q.front()] << ' ' << ans << '\n';
}
cout << ans;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgaW8ge2lvczo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOyBjb3V0LnRpZSgwKTt9Cgpjb25zdCBpbnQgbWF4Tj0xZTU7CmludCBOLEs7CmxvbmcgbnVtW21heE5dOwoKZGVxdWU8aW50PiBROwppbnQgbWFpbigpIHsKCWlvCgljaW4gPj4gTiA+PiBLOwoJbnVtWzBdPTA7Cglmb3IoaW50IGk9MTsgaTw9TjsgaSsrKXsKCQljaW4gPj4gbnVtW2ldOwoJCW51bVtpXSs9bnVtW2ktMV07Cgl9CglRLnB1c2hfYmFjaygwKTsKCWxvbmcgYW5zPTA7Cglmb3IoaW50IGk9MTsgaTw9TjsgaSsrKXsKCQlpZihpLVEuZnJvbnQoKT5LKXsKCQkJUS5wb3BfZnJvbnQoKTsKCQl9CgkJd2hpbGUoIVEuZW1wdHkoKSBhbmQgbnVtW1EuYmFjaygpXT49bnVtW2ldKQoJCQlRLnBvcF9iYWNrKCk7CgkJUS5wdXNoX2JhY2soaSk7CgkJYW5zPW1heChhbnMsbnVtW2ldLW51bVtRLmZyb250KCldKTsKCQkvL2NvdXQgPDwgbnVtW1EuZnJvbnQoKV0gPDwgJyAnIDw8IGFucyA8PCAnXG4nOwoJfQoJY291dCA8PCBhbnM7Cn0=