func_code_string: #include <bits/stdc++.h>   using namespace std;   int n, k, a[100009], dau, cuoi, d[100009], c[100009], Res;   string st;   void Input() {     cin >> n >> k >> st;     for (int i = 0; i < n; ++i) {       a[i + 1] = st[i] -  a ;     }   }   void Solve() {     dau = 1;     cuoi = 1;     d[0] = 0;     c[0] = 0;     while (cuoi <= n) {       if (a[cuoi] == 0) {         d[cuoi] = d[cuoi - 1] + 1;         c[cuoi] = c[cuoi - 1];       } else {         if (c[cuoi - 1] + 1 <= k) {           d[cuoi] = d[cuoi - 1] + 1;           c[cuoi] = c[cuoi - 1] + 1;         } else {           c[cuoi] = c[cuoi - 1] + 1;           d[cuoi] = d[cuoi - 1] + 1;           while (dau <= cuoi) {             if (c[cuoi] > k) {               if (a[dau] == 1) {                 c[cuoi]--;               }               dau++;               d[cuoi]--;             } else               break;           }         }       }       Res = max(Res, d[cuoi]);       cuoi++;     }     dau = 1;     cuoi = 1;     d[0] = 0;     c[0] = 0;     while (cuoi <= n) {       if (a[cuoi] == 1) {         d[cuoi] = d[cuoi - 1] + 1;         c[cuoi] = c[cuoi - 1];       } else {         if (c[cuoi - 1] + 1 <= k) {           d[cuoi] = d[cuoi - 1] + 1;           c[cuoi] = c[cuoi - 1] + 1;         } else {           c[cuoi] = c[cuoi - 1] + 1;           d[cuoi] = d[cuoi - 1] + 1;           while (dau <= cuoi) {             if (c[cuoi] > k) {               if (a[dau] == 0) {                 c[cuoi]--;               }               dau++;               d[cuoi]--;             } else               break;           }         }       }       Res = max(Res, d[cuoi]);       cuoi++;     }     cout << Res;   }   int main() {     Input();     Solve();   }   