#CF3732. 数组减少

数组减少

题目描述

光头强有两个数组 aabb,每个数组都包含 nn 个非负整数。他可以对数组 aa 执行以下操作:

对数组的每个非零元素进行减 11,即将每个元素 aia_i 的值 (1in)(1≤i≤n) 替换为 ai1a_i-1;如果 aia_i00,则其值不变。

确定光头强是否可以通过某些次操作(可能是零次)将数组 aa 变成数组 bb。换句话说,对于每个 1in1≤i≤n,他是否可以使 ai=bia_i=b_i

例如,假设 n=4a=[3,5,4,1]b=[1,3,2,0]n=4,a=[3,5,4,1],b=[1,3,2,0]。在这种情况下,他可以进行两次操作:

  • 第一次操作后,他得到 a=[2,4,3,0]a=[2,4,3,0]
  • 第二次操作后,他得到 a=[1,3,2,0]a=[1,3,2,0]

因此,在两次操作后,他可以从数组 aa 得到数组 bb

输入格式

输入的第一行包含一个整数 t(1t104)t(1≤t≤10^4)——测试用例的数量。

接下来是 tt 个测试用例。

每个测试用例的第一行包含一个整数 n(1n5104)n(1≤n≤5⋅10^4)

每个测试用例的第二行包含 nn 个非负整数 a1,a2,,an(0ai109)a_1,a_2,…,a_n(0≤a_i≤10^9)

每个测试用例的第三行包含 nn 个非负整数 b1,b2,,bn(0bi109)b_1,b_2,…,b_n(0≤b_i≤10^9)

保证所有测试用例中 nn 的总和不超过 21052⋅10^5

输出格式

针对每个测试用例,请单独输出:

  • 如果可以通过一些操作将数组 aa 转化为数组 bb,则输出 YES
  • 否则,输出 NO

可以任意大小写输出 YESNO(例如,yEsyesYesYES 都会被认为是肯定的答案)。

测试样例

6
4
3 5 4 1
1 3 2 0
3
1 2 1
0 1 0
4
5 3 7 2
1 1 1 1
5
1 2 3 4 5
1 2 3 4 6
1
8
0
1
4
6
YES
YES
NO
NO
YES
NO

样例说明

第一个测试用例在题目中有分析过。

对于第二个测试用例,只需要将数组 aa 进行一次操作就可以得到数组 bb

对于第三个测试用例,无法从数组 aa 得到数组 bb