题目描述
输入
输出
样例输入
2
10
1 4 1 5 9 2 6 5 3 5
1 4 2 7 8 2 8 6 3 5
10
1 1 4 5 9 2 6 5 3 5
1 4 2 7 8 2 8 6 3 5
样例输出
Yes
No
xdlyyds!
要在保证a有序的同时保证b有序
用a和b来组成一个结构体,对a排序后判断b是否有序
当a相等时,b是乱序的,所以需要对b进行排序
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5, INF = 0x3f3f3f3f;
typedef long long ll;
typedef pair<int, int> PII;
#define debug(a) cout << #a << " = " << a << endl
#define x first
#define y second
PII arr[N];
int main(void)
{
int T, n;
cin >> T;
while (T--) {
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i].x);
}
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i].y);
}
sort(arr, arr + n);
bool flag = true;
for (int i = 0; i < n - 1; i++) {
//debug(arr[i].x);
//debug(arr[i].y);
if (arr[i].y > arr[i + 1].y) {
flag = false;
}
}
if (flag) puts("Yes");
else puts("No");
}
return 0;
}