#include <bits/stdc++.h>
#define __PhucSama__ signed main()
#define RyoikiTenkai ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define FukumaMizushi(file) freopen(file".inp", "r", stdin); freopen(file".out", "w", stdout);
#define FOR(i, a, b) for (int i = (a); i <= (b); ++i)
#define el cout << "\n"
#define pb push_back
#define ll long long
#define pli pair<ll, int>
#define fi first
#define se second
using namespace std;
const int N = 3e6 + 7;
const ll INF = 1e18 + 7;
int n, k, a[N];
ll dp[N], pref[N];
deque<pli> deq;
ll res;
void input() {
cin >> n >> k;
FOR(i, 1, n) cin >> a[i], pref[i] = pref[i - 1] + a[i];
}
void solve() {
deq.pb({0, 0});
FOR(i, 1, n) {
while (!deq.empty() && deq.front().se < i - k + 1) deq.pop_front();
ll preMax = deq.empty() ? -INF : deq.front().fi;
dp[i] = max(dp[i - 1], preMax + pref[i]);
res = max(res, dp[i]);
ll add = dp[i - 1] - pref[i];
while (!deq.empty() && deq.back().fi <= add) deq.pop_back();
deq.pb({add, i});
}
cout << res;
}
__PhucSama__ {
RyoikiTenkai;
// FukumaMizushi("Test");
input();
solve();
return 0 ^ 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CgoKI2RlZmluZSBfX1BodWNTYW1hX18gc2lnbmVkIG1haW4oKQojZGVmaW5lIFJ5b2lraVRlbmthaSBpb3M6OnN5bmNfd2l0aF9zdGRpbygwKTsgY2luLnRpZSgwKTsgY291dC50aWUoMCk7CiNkZWZpbmUgRnVrdW1hTWl6dXNoaShmaWxlKSBmcmVvcGVuKGZpbGUiLmlucCIsICJyIiwgc3RkaW4pOyBmcmVvcGVuKGZpbGUiLm91dCIsICJ3Iiwgc3Rkb3V0KTsKCiNkZWZpbmUgRk9SKGksIGEsIGIpIGZvciAoaW50IGkgPSAoYSk7IGkgPD0gKGIpOyArK2kpCgojZGVmaW5lIGVsIGNvdXQgPDwgIlxuIgojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIHBsaSBwYWlyPGxsLCBpbnQ+CiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpjb25zdCBpbnQgTiA9IDNlNiArIDc7CmNvbnN0IGxsIElORiA9IDFlMTggKyA3OwppbnQgbiwgaywgYVtOXTsKbGwgZHBbTl0sIHByZWZbTl07CmRlcXVlPHBsaT4gZGVxOwpsbCByZXM7Cgp2b2lkIGlucHV0KCkgewogICAgY2luID4+IG4gPj4gazsKICAgIEZPUihpLCAxLCBuKSBjaW4gPj4gYVtpXSwgcHJlZltpXSA9IHByZWZbaSAtIDFdICsgYVtpXTsKfQoKdm9pZCBzb2x2ZSgpIHsKICAgIGRlcS5wYih7MCwgMH0pOwogICAgRk9SKGksIDEsIG4pIHsKICAgICAgICB3aGlsZSAoIWRlcS5lbXB0eSgpICYmIGRlcS5mcm9udCgpLnNlIDwgaSAtIGsgKyAxKSBkZXEucG9wX2Zyb250KCk7CiAgICAgICAgbGwgcHJlTWF4ID0gZGVxLmVtcHR5KCkgPyAtSU5GIDogZGVxLmZyb250KCkuZmk7ICAgIAogICAgICAgIGRwW2ldID0gbWF4KGRwW2kgLSAxXSwgcHJlTWF4ICsgcHJlZltpXSk7ICAgIAogICAgICAgIHJlcyA9IG1heChyZXMsIGRwW2ldKTsKICAgICAgICBsbCBhZGQgPSBkcFtpIC0gMV0gLSBwcmVmW2ldOwogICAgICAgIHdoaWxlICghZGVxLmVtcHR5KCkgJiYgZGVxLmJhY2soKS5maSA8PSBhZGQpIGRlcS5wb3BfYmFjaygpOwogICAgICAgIGRlcS5wYih7YWRkLCBpfSk7CiAgICB9CiAgICBjb3V0IDw8IHJlczsKfQogCl9fUGh1Y1NhbWFfXyB7CiAgICBSeW9pa2lUZW5rYWk7IAogICAgLy8gRnVrdW1hTWl6dXNoaSgiVGVzdCIpOyAKICAgIGlucHV0KCk7CiAgICBzb2x2ZSgpOwogICAgcmV0dXJuIDAgXiAwOwp9Cg==