func_code_string: #include <bits/stdc++.h>   using namespace std;   char s[200010], p[200010];   int a[200010], n, t;   bool ok(int len) {     int i = 1, j = 1;     while (i <= n) {       if (a[i] <= len) {         i++;         continue;       }       if (s[i] == p[j]) {         i++;         j++;       } else {         i++;       }       if (j == t + 1) return true;     }     return false;   }   int main() {     scanf( %s , &s[1]);     n = strlen(s + 1);     scanf( %s , &p[1]);     t = strlen(p + 1);     int l = 0, r = n, ans;     for (int i = 1; i <= n; i++) {       int b;       scanf( %d , &b);       a[b] = i;     }     while (l + 1 < r) {       int m = (l + r) >> 1;       if (ok(m)) {         l = m;       } else {         r = m;       }     }     printf( %d n , l);     return 0;   }   