/* */ #pragma comment(linker, "/STACK:16777216") #define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define y0 sdkfaslhagaklsldk #define y1 aasdfasdfasdf #define yn askfhwqriuperikldjk #define j1 assdgsdgasghsf #define tm sdfjahlfasfh #define lr asgasgash #define norm asdfasdgasdgsd #define eps 1e-9 #define M_PI 3.141592653589793 #define bs 1000000007 #define bsize 350 using namespace std; const int INF = 1e9; const int N = 200031; int n, k, ar[N]; long long solve(int start) { long long res = 0; for (int i = start; i <= n; i += 2 * k + 1) { res += ar[i]; if (i + k + 1 <= n&&i + k * 2 + 1 > n) return 1e18; } return res; } bool good_mask(int mask) { int ar[25]; for (int i = 0; i < n; i++) { ar[i] = 1; } for (int i = 0; i < n; i++) { if (mask&(1 << i)) { for (int j = i - k; j <= i + k; j++) { if (j >= 0 && j < n) ar[j] ^= 1; } } } for (int i = 0; i < n; i++) { if (ar[i]) return 0; } return 1; } int ans_mask; int main(){ //freopen("fabro.in","r",stdin); //freopen("fabro.out","w",stdout); //freopen("F:/in.txt", "r", stdin); //freopen("F:/output.txt", "w", stdout); ios_base::sync_with_stdio(0); //cin.tie(0); while (true) { cin >> n >> k; for (int i = 1; i <= n; i++) { cin >> ar[i]; //ar[i] = rand() % 10; } long long ans = 1e18; /*for (int mask = 0; mask < (1 << n); mask++) { if (good_mask(mask)) { int here = 0; for (int i = 0; i < n; i++) { if (mask&(1 << i)) here += ar[i + 1]; } if (here < ans) ans = min(ans, 0ll + here), ans_mask = mask; } }*/ long long ans2 = 1e18; for (int F = 1; F <= k + 1&&F<=n; F++) { ans2 = min(ans2, solve(F)); } /*if (ans != ans2) { cout << "!" << endl; for (int i = 1; i <= n; i++) { cout << ar[i] << " "; } cout << endl; cout << ans << " " << ans2 << " " << ans_mask << endl; while (true); } else cout << "OK" << endl;*/ cout << ans2 << endl; return 0; } cin.get(); cin.get(); return 0; }