Codeforces Round 632 (Div. 2)
B
Kind Anton
Codeforces
1100
原题
← AC →
翻译中…

Once again, Boris needs the help of Anton in creating a task. This time Anton needs to solve the following problem:

翻译中…

There are two arrays of integers $a$ and $b$ of length $n$. It turned out that array $a$ contains only elements from the set $\{-1, 0, 1\}$.

翻译中…

Anton can perform the following sequence of operations any number of times:

翻译中…
  1. Choose any pair of indexes $(i, j)$ such that $1 \le i \lt j \le n$. It is possible to choose the same pair $(i, j)$ more than once.
  2. Add $a_i$ to $a_j$. In other words, $j$-th element of the array becomes equal to $a_i + a_j$.
翻译中…

For example, if you are given array $[1, -1, 0]$, you can transform it only to $[1, -1, -1]$, $[1, 0, 0]$ and $[1, -1, 1]$ by one operation.

翻译中…

Anton wants to predict if it is possible to apply some number (zero or more) of these operations to the array $a$ so that it becomes equal to array $b$. Can you help him?

翻译中…

Input

翻译中…

Each test contains multiple test cases.

翻译中…

The first line contains the number of test cases $t$ ($1 \le t \le 10000$). The description of the test cases follows.

翻译中…

The first line of each test case contains a single integer $n$ ($1 \le n \le 10^5$)  — the length of arrays.

翻译中…

The second line of each test case contains $n$ integers $a_1, a_2, \dots, a_n$ ($-1 \le a_i \le 1$)  — elements of array $a$. There can be duplicates among elements.

翻译中…

The third line of each test case contains $n$ integers $b_1, b_2, \dots, b_n$ ($-10^9 \le b_i \le 10^9$)  — elements of array $b$. There can be duplicates among elements.

翻译中…

It is guaranteed that the sum of $n$ over all test cases doesn't exceed $10^5$.

翻译中…

Output

翻译中…

For each test case, output one line containing "YES" if it's possible to make arrays $a$ and $b$ equal by performing the described operations, or "NO" if it's impossible.

翻译中…

You can print each letter in any case (upper or lower).

翻译中…

Note

翻译中…

In the first test-case we can choose $(i, j)=(2, 3)$ twice and after that choose $(i, j)=(1, 2)$ twice too. These operations will transform $[1, -1, 0] \to [1, -1, -2] \to [1, 1, -2]$

翻译中…

In the second test case we can't make equal numbers on the second position.

翻译中…

In the third test case we can choose $(i, j)=(1, 2)$ $41$ times. The same about the fourth test case.

翻译中…

In the last lest case, it is impossible to make array $a$ equal to the array $b$.

翻译中…

样例

Input #1
5
3
1 -1 0
1 1 -2
3
0 1 1
0 2 2
2
1 0
1 41
2
-1 0
-1 -41
5
0 1 -1 1 -1
1 1 -1 1 -1
Output #1
YES
NO
YES
YES
NO
InputCopy OutputCopy
题目信息
题号
1333B
时间限制
1 s
内存限制
256 MB
标签
贪心
模拟

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。