fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4.  
  5.  
  6.  
  7. signed main(){
  8. int t;
  9. cin>>t;
  10. while(t--){
  11. int n,m;
  12. cin>>n>>m;
  13. vector<int>vec(n),idx(n);
  14. for(int i=0;i<n;i++)cin>>vec[i];
  15. for(int i=0;i<m;i++){
  16. int pos;
  17. cin>>pos;
  18. pos--;
  19. idx[pos]=1;
  20. }
  21.  
  22. for(int i=0;i<n;i++){
  23. if(idx[i]==0)continue;
  24. int j=i;
  25. while(j<n&&idx[j]==1)j++;
  26. sort(vec.begin()+i,vec.begin()+j+1);
  27. i=j;
  28. }
  29.  
  30. bool flag=1;
  31. for(int i=0;i<n-1;i++){
  32. if(vec[i]>vec[i+1]){
  33. flag=0;
  34. }
  35. }
  36.  
  37. if(flag)cout<<"YES\n";
  38. else cout<<"NO\n";
  39.  
  40.  
  41. }
  42.  
  43.  
  44. return 0;
  45. }
  46.  
  47.  
Success #stdin #stdout 0.01s 5304KB
stdin
Standard input is empty
stdout
YES
YES