#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N = 1e6 + 7;
int n, k;
int a[N], pref[N];
void sub1() {
int ans = 0;
for (int i = 1; i <= n; i++) {
if (a[i] == 1) ans++;
if (a[i] == 0 && k > 0) k--, ans++;
}
if (k > 0) ans--;
cout << ans << '\n';
}
void sub2() {
int ans = 0, sum = 0;
for (int i = 1; i <= n; i++) sum += a[i];
for (int i = 1; i < n; i++) {
int tmp = sum;
for (int j = i; j <= i + 1; j++) {
if (a[j] == 0) tmp++;
else tmp--;
}
ans = max(ans, tmp);
}
cout << ans << '\n';
}
void sub3() {
for (int i = 1; i <= n; i++) pref[i] = pref[i - 1] + a[i];
int ans = 0;
for (int i = 1; i <= n - k + 1; i++) {
int l = pref[i - 1] - pref[0];
int mid = pref[i + k - 1] - pref[i - 1];
int r = pref[n] - pref[i + k - 1];
ans = max(ans, l + r + k - mid);
}
cout << ans << '\n';
}
signed main() {
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
freopen("DANDEN.inp", "r", stdin);
freopen("DANDEN.out", "w", stdout);
cin >> n >> k;
for (int i = 1; i <= n; i++) cin >> a[i];
if (k == 1) sub1();
else if (k == 2) sub2();
else sub3();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjb25zdCBpbnQgTiA9IDFlNiArIDc7CgppbnQgbiwgazsKaW50IGFbTl0sIHByZWZbTl07Cgp2b2lkIHN1YjEoKSB7CglpbnQgYW5zID0gMDsKCWZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewoJCWlmIChhW2ldID09IDEpIGFucysrOwoJCWlmIChhW2ldID09IDAgJiYgayA+IDApIGstLSwgYW5zKys7Cgl9CglpZiAoayA+IDApIGFucy0tOwoJY291dCA8PCBhbnMgPDwgJ1xuJzsKfQoKdm9pZCBzdWIyKCkgewoJaW50IGFucyA9IDAsIHN1bSA9IDA7Cglmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspIHN1bSArPSBhW2ldOwoJZm9yIChpbnQgaSA9IDE7IGkgPCBuOyBpKyspIHsKCQlpbnQgdG1wID0gc3VtOwoJCWZvciAoaW50IGogPSBpOyBqIDw9IGkgKyAxOyBqKyspIHsKCQkJaWYgKGFbal0gPT0gMCkgdG1wKys7CgkJCWVsc2UgdG1wLS07CgkJfQoJCWFucyA9IG1heChhbnMsIHRtcCk7Cgl9Cgljb3V0IDw8IGFucyA8PCAnXG4nOwp9Cgp2b2lkIHN1YjMoKSB7Cglmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspIHByZWZbaV0gPSBwcmVmW2kgLSAxXSArIGFbaV07CglpbnQgYW5zID0gMDsKCWZvciAoaW50IGkgPSAxOyBpIDw9IG4gLSBrICsgMTsgaSsrKSB7CgkJaW50IGwgPSBwcmVmW2kgLSAxXSAtIHByZWZbMF07CgkJaW50IG1pZCA9IHByZWZbaSArIGsgLSAxXSAtIHByZWZbaSAtIDFdOwoJCWludCByID0gcHJlZltuXSAtIHByZWZbaSArIGsgLSAxXTsKCQlhbnMgPSBtYXgoYW5zLCBsICsgciArIGsgLSBtaWQpOwoJfQoJY291dCA8PCBhbnMgPDwgJ1xuJzsKfQoKc2lnbmVkIG1haW4oKSB7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOwogICAgY2luLnRpZSgwKTsgY291dC50aWUoMCk7CiAgICAKICAgIGZyZW9wZW4oIkRBTkRFTi5pbnAiLCAiciIsIHN0ZGluKTsKICAgIGZyZW9wZW4oIkRBTkRFTi5vdXQiLCAidyIsIHN0ZG91dCk7CiAgICAKICAgIGNpbiA+PiBuID4+IGs7CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspIGNpbiA+PiBhW2ldOwogICAgaWYgKGsgPT0gMSkgc3ViMSgpOwogICAgZWxzZSBpZiAoayA9PSAyKSBzdWIyKCk7CiAgICBlbHNlIHN1YjMoKTsKICAgIHJldHVybiAwOwp9