AcWing 3720. 数组重排
原题链接
简单
作者:
进击的橡皮熊
,
2021-06-23 20:07:31
,
所有人可见
,
阅读 236
(排序+双指针) $O(n*lg(n))$
C++ 代码
#include <bits/stdc++.h>
using namespace std;
int a[100], b[100];
int main() {
int n, x, t;
scanf("%d", &t);
while (t--) {
scanf("%d %d", &n, &x);
for (int i = 0; i < n; i++) scanf("%d", &a[i]);
for (int i = 0; i < n; i++) scanf("%d", &b[i]);
sort(a, a + n);
sort(b, b + n);
int i = 0, j = n - 1, flag = 1;
while (i <= j) {
if (a[i] + b[j] > x || a[j] + b[i] > x) {
flag = 0;
break;
}
i++, j--;
}
printf("%s\n", flag ? "Yes" : "No");
}
}