题库练习 Equate Multisets
← 上一题 下一题 →

A15222 | Equate Multisets

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

Multiset —is a set of numbers in which there can be equal elements, and the order of the numbers does not matter. Two multisets are equal when each value occurs the same number of times. For example, the multisets $\{2,2,4\}$ and $\{2,4,2\}$ are equal, but the multisets $\{1,2,2\}$ and $\{1,1,2\}$ — are not.

You are given two multisets $a$ and $b$ , each consisting of $n$ integers.

In a single operation, any element of the $b$ multiset can be doubled or halved (rounded down). In other words, you have one of the following operations available for an element $x$ of the $b$ multiset:

- replace $x$ with $x \cdot 2$ ,
- or replace $x$ with $\lfloor \frac{x}{2} \rfloor$ (round down).

Note that you cannot change the elements of the $a$ multiset.

See if you can make the multiset $b$ become equal to the multiset $a$ in an arbitrary number of operations (maybe $0$ ).

For example, if $n = 4$ , $a = \{4, 24, 5, 2\}$ , $b = \{4, 1, 6, 11\}$ , then the answer is yes. We can proceed as follows:

- Replace $1$ with $1 \cdot 2 = 2$ . We get $b = \{4, 2, 6, 11\}$ .
- Replace $11$ with $\lfloor \frac{11}{2} \rfloor = 5$ . We get $b = \{4, 2, 6, 5\}$ .
- Replace $6$ with $6 \cdot 2 = 12$ . We get $b = \{4, 2, 12, 5\}$ .
- Replace $12$ with $12 \cdot 2 = 24$ . We get $b = \{4, 2, 24, 5\}$ .
- Got equal multisets $a = \{4, 24, 5, 2\}$ and $b = \{4, 2, 24, 5\}$ .

输入格式

The first line of input data contains a single integer $t$ ( $1 \le t \le 10^4$ ) —the number of test cases.

Each test case consists of three lines.

The first line of the test case contains an integer $n$ ( $1 \le n \le 2 \cdot 10^5$ ) —the number of elements in the multisets $a$ and $b$ .

The second line gives $n$ integers: $a_1, a_2, \dots, a_n$ ( $1 \le a_1 \le a_2 \le \dots \le a_n \le 10^9$ ) —the elements of the multiset $a$ . Note that the elements may be equal.

The third line contains $n$ integers: $b_1, b_2, \dots, b_n$ ( $1 \le b_1 \le b_2 \le \dots \le b_n \le 10^9$ ) — elements of the multiset $b$ . Note that the elements may be equal.

It is guaranteed that the sum of $n$ values over all test cases does not exceed $2 \cdot 10^5$ .

输出格式

For each test case, print on a separate line:

- YES if you can make the multiset $b$ become equal to $a$ ,
- NO otherwise.

You can output YES and NO in any case (for example, strings yEs, yes, Yes and YES will be recognized as positive answer).

输入输出样例

输入 #1
5
4
2 4 5 24
1 4 6 11
3
1 4 17
4 5 31
5
4 7 10 13 14
2 14 14 26 42
5
2 2 4 4 4
28 46 62 71 98
6
1 2 10 16 64 80
20 43 60 74 85 99
输出 #1
YES
NO
YES
YES
YES
C++ 编辑器
输入
输出