• Source
    1. #include <iostream>
    2. #include <vector>
    3. #include <algorithm>
    4. #include <string>
    5. using namespace std;
    6.  
    7. int main()
    8. {
    9. int t;
    10. cin>>t;
    11. for(int k = 0; k < t; ++k ){
    12. int n,num;
    13. cin>>n>>num;
    14. vector<int> a(n), b(n);
    15. for(int i = 0; i < n; ++i){
    16. cin>>a[i];
    17. }
    18. for(int i = 0; i < n; ++i){
    19. cin>>b[i];
    20. }
    21. sort( b.begin(), b.end());
    22. vector<bool> mark(n, false);
    23. for(int i = 0; i < n; ++i){
    24. for(int j = 0; j < n; ++j){
    25. if( mark[j] == false && a[i]+b[j]>=num){
    26. mark[j] = true;
    27. break;
    28. }
    29. }
    30. }
    31. string ans = "YES";
    32. for(int i = 0; i < n; ++i){
    33. if( mark[i] == false){
    34. ans = "NO";
    35. break;
    36. }
    37. }
    38. cout<<ans<<endl;
    39. }
    40. // your code goes here
    41. return 0;
    42. }