aytdev

SHEET 3 U. Is B a subsequence of A

Mar 17th, 2021
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.43 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. #define ps(x,y) fixed<<setprecision(y)<<x
  5. #define w(t) int x;cin>>x;while(x--)
  6. #define pi 2*acos(0.0)
  7. #define bg begin()
  8. #define ed end()
  9. #define all(x) x.begin(),x.end()
  10. #define sortarr(x) sort(x,x+arrsize(x))
  11. #define arrsize(x) sizeof(x)/sizeof(x[0])
  12. #define sortall(x) sort(all(x))
  13. #define formn(m,n) for(m;m<=n;m++)
  14. #define el endl
  15. #define pb push_back
  16. #define vi vector<ll>
  17. #define vs vector<string>
  18. #define REP(i,a,b) for (int i=a;i<=b;i++)
  19. #define sq(a) (a)*(a)
  20. //solution
  21. int check_val(ll arr[],ll m,ll sub){
  22.     int flag=0;
  23.     REP(i,0,m-1){
  24.        if(arr[i]==sub){
  25.          flag=1;
  26.          break;
  27.        }
  28.  
  29.     }
  30.     return flag;
  31.  
  32. }
  33. int check_order(ll arr[],ll m,ll a,ll b){
  34.    int flag=0,pa,pb;
  35.    REP(i,0,m-1){
  36.        if(arr[i]==a){
  37.         pa = i;
  38.        }if(arr[i]==b){
  39.          pb=i;
  40.        }
  41.    }
  42.    if(pb>pa){
  43.      flag =1;
  44.    }
  45.    return flag;
  46.  
  47.  
  48. }
  49. int solve(){
  50. ll n,m,c=0;
  51. cin>>n>>m;
  52. ll arr[n],sub[m];
  53. REP(i,0,n-1){
  54.    cin>>arr[i];
  55. }
  56. REP(i,0,m-1){
  57.    cin>>sub[i];
  58. }
  59. REP(i,0,m-1){
  60.  
  61.   if(!check_val(arr,n,sub[i])){
  62.     cout<<"NO";
  63.     c=1;
  64.     break;
  65.   }
  66. }
  67. if(c==0){
  68. REP(i,0,m-2){
  69.       if(!check_order(arr,n,sub[i],sub[i+1])){
  70.              c=1;
  71.              cout<<"NO"<<endl;
  72.              break;
  73.  
  74.       }
  75. }
  76. if(c==0){
  77.   cout<<"YES"<<endl;
  78. }
  79. }
  80.  
  81.  
  82.  
  83.  
  84. return 0;
  85. }
  86. //end solution
  87. int main(){
  88. solve();
  89. }
  90.  
Advertisement
Add Comment
Please, Sign In to add comment