Advertisement
Guest User

Untitled

a guest
Feb 17th, 2020
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.93 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. #define fast ios_base::sync_with_stdio(0); cin.tie(0);
  3. #define F first
  4. #define S second
  5. #define PB push_back
  6. #define MP make_pair
  7. #define REP(i,a,b) for (int i = a; i <= b; i++)
  8.  
  9.  
  10. using namespace std;
  11.  
  12. typedef long long ll;
  13. typedef vector<int> vi;
  14. typedef pair<int,int> pi;
  15. const int N = 1e6;
  16. int next_pos[N+11][26];
  17. int main()
  18. {
  19. fast;
  20. string s;
  21. cin>>s;
  22. s=" "+s;
  23. for(int i = 1;i<=s.length();i++)
  24. {
  25. for(int j = 0;j<26;j++)
  26. {
  27. next_pos[i+1][j] = next_pos[i][j];
  28. }
  29. next_pos[i+1][s[i]-97] = i;
  30. }
  31.  
  32. int q;
  33. cin>>q;
  34. while(q--)
  35. {
  36. string p;
  37. cin>>p;
  38. int ind = s.length();
  39. int len = p.length();
  40. while(ind>0&&len>0)
  41. {
  42. ind = next_pos[ind][p[len-1]-97];
  43. if(ind!=0)
  44. len--;
  45. }
  46. cout<<p.length()-len<<endl;
  47. }
  48. return 0;
  49.  
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement