310882: CF1904D1. Set To Max (Easy Version)
Description
This is the easy version of the problem. The only differences between the two versions of this problem are the constraints on $n$ and the time limit. You can make hacks only if all versions of the problem are solved.
You are given two arrays $a$ and $b$ of length $n$.
You can perform the following operation some (possibly zero) times:
- choose $l$ and $r$ such that $1 \leq l \leq r \leq n$.
- let $x=\max(a_l,a_{l+1},\ldots,a_r)$.
- for all $l \leq i \leq r$, set $a_i := x$.
Determine if you can make array $a$ equal to array $b$.
InputEach test contains multiple test cases. The first line contains an integer $t$ ($1 \leq t \leq 10^4$) — the number of test cases. The description of the test cases follows.
The first line of each test case contains a single integer $n$ ($1 \le n \le 1000$) — the length of the arrays.
The second line contains $n$ integers $a_1, a_2, \ldots, a_n$ ($1 \le a_i \le n$) — the elements of array $a$.
The third line contains $n$ integers $b_1, b_2, \ldots, b_n$ ($1 \le b_i \le n$) — the elements of array $b$.
It is guaranteed that the sum of $n^2$ over all test cases does not exceed $10^6$.
OutputFor each test case, output "YES" (without quotes) if you can make $a$ into $b$ using any number of operations, and "NO" (without quotes) otherwise.
You can output "YES" and "NO" in any case (for example, strings "yES", "yes" and "Yes" will be recognized as a positive response).
ExampleInput5 5 1 2 3 2 4 1 3 3 2 4 5 3 4 2 2 4 3 4 3 4 4 5 3 2 1 1 1 3 3 3 2 2 2 1 1 1 2 3 1 1 2 2 1 2Output
YES NO YES NO NONote
In the first test case, we can achieve array $b$ by applying a single operation: $(l,r)=(2,3)$.
In the second test case, it can be shown we cannot achieve array $b$ in any amount of operations.
In the third test case, we can achieve array $b$ by applying two operations: $(l,r)=(2,5)$. followed by $(l,r)=(1,3)$.
In the fourth and fifth test cases, it can be shown we cannot achieve array $b$ in any amount of operations.
Output
输入数据格式:第一行包含一个整数t(1≤t≤10^4),表示测试用例的数量。接下来每个测试用例的描述如下:
- 第一行包含一个整数n(1≤n≤1000),表示数组的长度。
- 第二行包含n个整数a_1, a_2, …, a_n(1≤a_i≤n),表示数组a的元素。
- 第三行包含n个整数b_1, b_2, …, b_n(1≤b_i≤n),表示数组b的元素。
- 保证所有测试用例的n^2之和不超过10^6。
输出数据格式:对于每个测试用例,如果能通过任意次数的操作使得a等于b,则输出"YES"(不包含引号),否则输出"NO"(不包含引号)。输出可以是任何大小写组合的"YES"或"NO"。
示例:
```
Input
5
5
1 2 3 2 4
1 3 3 2 4
5
3 4 2 2 4
3 4 3 4 4
5
3 2 1 1 1
3 3 3 2 2
2
1 1
1 2
3
1 1 2
2 1 2
Output
YES
NO
YES
NO
NO
```
注意:在第一个测试用例中,可以通过一次操作(l,r)=(2,3)实现数组b。在第二个测试用例中,无法通过任何次数的操作实现数组b。在第三个测试用例中,可以通过两次操作(l,r)=(2,5)和(l,r)=(1,3)实现数组b。在第四和第五个测试用例中,无法通过任何次数的操作实现数组b。题目大意:给定两个长度为n的数组a和b,你可以进行如下操作若干次(可能为零次):选择l和r(1≤l≤r≤n),然后令x为a_l, a_{l+1}, …, a_r中的最大值,接着对于所有l≤i≤r,将a_i的值设为x。判断是否可以通过任意次数的操作使得数组a等于数组b。 输入数据格式:第一行包含一个整数t(1≤t≤10^4),表示测试用例的数量。接下来每个测试用例的描述如下: - 第一行包含一个整数n(1≤n≤1000),表示数组的长度。 - 第二行包含n个整数a_1, a_2, …, a_n(1≤a_i≤n),表示数组a的元素。 - 第三行包含n个整数b_1, b_2, …, b_n(1≤b_i≤n),表示数组b的元素。 - 保证所有测试用例的n^2之和不超过10^6。 输出数据格式:对于每个测试用例,如果能通过任意次数的操作使得a等于b,则输出"YES"(不包含引号),否则输出"NO"(不包含引号)。输出可以是任何大小写组合的"YES"或"NO"。 示例: ``` Input 5 5 1 2 3 2 4 1 3 3 2 4 5 3 4 2 2 4 3 4 3 4 4 5 3 2 1 1 1 3 3 3 2 2 2 1 1 1 2 3 1 1 2 2 1 2 Output YES NO YES NO NO ``` 注意:在第一个测试用例中,可以通过一次操作(l,r)=(2,3)实现数组b。在第二个测试用例中,无法通过任何次数的操作实现数组b。在第三个测试用例中,可以通过两次操作(l,r)=(2,5)和(l,r)=(1,3)实现数组b。在第四和第五个测试用例中,无法通过任何次数的操作实现数组b。