题库练习 An Alternative Way
← 上一题 下一题 →

A16877 | An Alternative Way

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

题目描述

你有两个长度均为 $n$ 的数组 $a$ 和 $b$。你可以对数组 $a$ 执行以下操作任意次(包括零次):

1. 选择两个下标 $l$ 和 $r$,满足 $1 \le l \le r \le n$;
2. 对每个下标 $i$(从 $l$ 到 $r$,含端点):
* 若 $i - l$ 为奇数,则令 $a_i := a_i - 1$;
* 若 $i - l$ 为偶数,则令 $a_i := a_i + 1$。

判断是否可以通过执行若干次该操作,使数组 $a$ 变为数组 $b$。

输入格式

第一行包含一个整数 $t$($1 \le t \le 10^4$)——测试用例的数量。随后是每个测试用例的描述。

每个测试用例的第一行包含一个整数 $n$($1 \le n \le 2\cdot10^5$)——数组 $a$ 和 $b$ 的长度。

每个测试用例的第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($1 \le a_i \le 10^9$)——数组 $a$ 的元素。

每个测试用例的第三行包含 $n$ 个整数 $b_1, b_2, \ldots, b_n$($1 \le b_i \le 10^9$)——数组 $b$ 的元素。

保证所有测试用例中 $n$ 的总和不超过 $2\cdot10^5$。

输出格式

对于每个测试用例,如果可以使数组 $a$ 等于数组 $b$,则输出 "YES";否则输出 "NO"。

你可以以任意大小写形式输出 "YES" 和 "NO"(例如,字符串 "yEs"、"yes" 和 "Yes" 均被视为肯定回答)。

输入输出样例

输入 #1
7
3
1 2 3
1 2 3
4
1 4 5 2
1 5 4 3
1
9
8
6
6 7 6 7 6 7
7 6 7 6 7 6
9
9 8 7 6 5 4 3 2 1
9 9 8 2 4 4 3 5 3
3
1 1 2
2 1 1
2
1 2
1 1
输出 #1
YES
YES
NO
YES
NO
YES
NO
C++ 编辑器
输入
输出