func_code_string: #include <bits/stdc++.h>   using namespace std;   int n;   char ch;   int x, y;   int dx[200001], dy[200001];   int ans;   bool check(int ans) {     if (ans > n) return true;     int i, iend = n - ans + 1;     for (i = 1; i <= iend; i++) {       int vx = dx[i - 1] + dx[n] - dx[i + ans - 1];       int vy = dy[i - 1] + dy[n] - dy[i + ans - 1];       if (abs(x - vx) + abs(y - vy) <= ans &&           !((abs(x - vx) + abs(y - vy)) & 1) ^ (ans & 1))         return true;     }     return false;   }   int main() {     cin >> n;     int i;     for (i = 1; i <= n; i++) {       cin >> ch;       dx[i] = dx[i - 1];       dy[i] = dy[i - 1];       switch (ch) {         case  U :           ++dy[i];           break;         case  D :           --dy[i];           break;         case  L :           --dx[i];           break;         case  R :           ++dx[i];           break;       }     }     cin >> x >> y;     if (n < abs(x) + abs(y) || (n & 1) ^ ((abs(x) + abs(y)) & 1)) {       cout << -1 << endl;       return 0;     }     if (dx[n] == x && dy[n] == y) {       cout << 0 << endl;       return 0;     }     for (i = 20; i >= 0; i--)       if (!check(ans | (1 << i))) ans |= 1 << i;     cout << ans + 1 << endl;     return 0;   }   