307285: CF1333B. Kind Anton

Memory Limit:256 MB Time Limit:1 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Kind Anton

题意翻译

一共有$T$组输入,每组输入给你两个长度均为$n(n\le 10^5)$的数组$a$和$b$。$a$中只包含$3$个元素$-1,0,1$。现在让你选择一对$(i,j)(1\le i<j\le n)$,让$a_j$加上$a_i$。问你如果一直对$a$数组做这个操作,最后能不能把$a$数组变成$b$数组。

题目描述

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 < 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?

输入输出格式

输入格式


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 $ .

输出格式


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).

输入输出样例

输入样例 #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

输出样例 #1

YES
NO
YES
YES
NO

说明

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

题意翻译

一共有$T$组输入,每组输入给你两个长度均为$n(n\le 10^5)$的数组$a$和$b$。$a$中只包含$3$个元素$-1,0,1$。现在让你选择一对$(i,j)(1\le i<j\le n)$,让$a_j$加上$a_i$。问你如果一直对$a$数组做这个操作,最后能不能把$a$数组变成$b$数组。

加入题单

算法标签: