#pragma region include #include "bits/stdc++.h" #define ALL(obj) (obj).begin(),(obj).end() #define RALL(obj) (obj).rbegin(),(obj).rend() #define REP(i, n) for(int i = 0; i < (int)(n); i++) #define REPR(i, n) for(int i = (int)(n); i >= 0; i--) #define FOR(i,n,m) for(int i = (int)(n); i < int(m); i++) using namespace std; typedef long long ll; typedef pair PII; const int MOD = 1e9 + 7; const int INF = 1e9 + 6; const ll LLINF = 4e18; void input() {} template void input(int& f, R&... r) { scanf("%d", &f); input(r...); } template void input(double& f, R&... r) { scanf("%lf", &f); input(r...); } template void input(ll& f, R&... r) { scanf("%lld", &f); input(r...); } template void input(char& f, R&... r) { scanf("%c", &f); input(r...); } template void input(vector& f, R&... r) { REP(i, f.size())input(f[i]); input(r...); } #pragma endregion int main() { int n, k; input(n,k); string s; cin >> s; int a=0, b=0; int ans=0; REP(i, n) { if (s[i]=='0') { if (b > 0) { b--; } else { a++; } } else { if (b > 0) { b--; } else { a++; } b += s[i] - '0'; } if (k == i + 1) { ans = a; } } if (ans > 0) { cout << ans << endl; } else { if (b >= a) { cout << a << endl; } else { cout << a + (a - b)*(k / s.size() - 1) << endl; } } getchar(); getchar(); }