Ritam_C

1492C CF

May 7th, 2021
660
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.07 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. typedef long long ll;
  3. typedef unsigned long long ull;
  4. typedef long double ld;
  5. #define vi vector<int>
  6. #define vll vector<long long>
  7. #define pb push_back
  8. #define vpll vector<pair<ll, ll>>
  9. #define vpi vector<pair<int, int>>
  10. #define p_b pop_back
  11. #define FOR(a, b) for(int i = a; i <= b; i++)
  12. #define tests() int t; cin >> t; while(t--)
  13. #define input(a, n) for(int i = 0; i < n; i++){int x; cin >> x; a.pb(x);}
  14. #define MOD (ull)1000000007
  15. using namespace std;
  16.  
  17. int main(){
  18.     ios_base::sync_with_stdio(false);
  19.     cin.tie(NULL);
  20.     int n, m, j = 0; string s, t;
  21.     cin >> n >> m >> s >> t;
  22.     vpi v(m, {0, 0});
  23.     for(int i = 0; i < m; i++){
  24.         while(j < n && s[j] != t[i]){
  25.             j++;
  26.         }
  27.         v[i].first = j;
  28.     }
  29.     j = n-1;
  30.     for(int i = m-1; i >= 0; i--){
  31.         while(j >= 0 && s[j] != t[i]){
  32.             j--;
  33.         }
  34.         v[i].second = j;
  35.     }
  36.     long ma = 0;
  37.     for(int i = 0; i < m-1; i++){
  38.         ma = max(ma, (long)v[i+1].second-(long)v[i].first);
  39.     }
  40.     cout << ma;
  41.     return 0;
  42. }
Advertisement
Add Comment
Please, Sign In to add comment