#include <bits/stdc++.h>
using namespace std;
char s[200000];
int d[200000];
int find(int lc, int rc) {
  int l = lc;
  int r = rc;
  while (r - l > 1) {
    int m = (l + r) / 2;
    int d1 = d[m] - d[lc];
    int d2 = d[rc] - d[m];
    if (d1 < d2)
      l = m;
    else
      r = m;
  }
  int d1 = max(d[rc] - d[r], d[r] - d[lc]);
  int d2 = max(d[rc] - d[l], d[l] - d[lc]);
  return min(d1, d2);
}
int main() {
  std::ios::sync_with_stdio(false);
  int n, k;
  scanf("%d %d\n", &n, &k);
  k++;
  gets(s);
  int c = 0;
  for (int i = 0; i < n; i++) {
    if (s[i] == '0') {
      d[c] = i;
      c++;
    }
  }
  int ans = 300000;
  for (int i = 0; i < c - k + 1; i++) {
    ans = min(find(i, i + k - 1), ans);
  }
  cout << ans;
  return 0;
}
