CF1253A.Single Push
入门
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You're given two arrays a[1…n] and b[1…n], both of the same length n.
In order to perform a push operation, you have to choose three integers l,r,k satisfying 1≤l≤r≤n and k>0. Then, you will add k to elements al,al+1,…,ar.
For example, if a=[3,7,1,4,1,2] and you choose (l=3,r=5,k=2), the array a will become [3,7,3,6,3,2].
You can do this operation at most once. Can you make array a equal to array b?
(We consider that a=b if and only if, for every 1≤i≤n, ai=bi)
给你两个长度均为 n 的数组 a[1…n] 和 b[1…n]。
执行一次“push 操作”时,你需要选择三个整数 l,r,k,满足 1≤l≤r≤n 且 k>0。然后,你将把 k 加到元素 al,al+1,…,ar 上。
例如,若 a=[3,7,1,4,1,2],且你选择 (l=3,r=5,k=2),则数组 a 将变为 [3,7,3,6,3,2]。
你最多只能执行该操作一次。你能否使数组 a 变为与数组 b 相等?
(我们认为 a=b 当且仅当对每个 1≤i≤n,均有 ai=bi)
输入格式
The first line contains a single integer t (1≤t≤20) — the number of test cases in the input.
The first line of each test case contains a single integer n (1≤n≤100 000) — the number of elements in each array.
The second line of each test case contains n integers a1,a2,…,an (1≤ai≤1000).
The third line of each test case contains n integers b1,b2,…,bn (1≤bi≤1000).
It is guaranteed that the sum of n over all test cases doesn't exceed 105.
第一行包含一个整数 t(1≤t≤20)—— 表示输入中测试用例的数量。
每个测试用例的第一行包含一个整数 n(1≤n≤100 000)—— 表示每个数组中的元素个数。
每个测试用例的第二行包含 n 个整数 a1,a2,…,an(1≤ai≤1000)。
每个测试用例的第三行包含 n 个整数 b1,b2,…,bn(1≤bi≤1000)。
保证所有测试用例的 n 值之和不超过 105。
输出格式
For each test case, output one line containing "YES" if it's possible to make arrays a and b equal by performing at most once the described operation or "NO" if it's impossible.
You can print each letter in any case (upper or lower).
对于每个测试用例,如果可以通过至多执行一次所描述的操作使得数组 a 和 b 相等,则输出一行 "YES";否则输出 "NO"。
你可以以任意大小写(大写或小写)输出每个字母。
输入输出样例
输入#1
4 6 3 7 1 4 1 2 3 7 3 6 3 2 5 1 1 1 1 1 1 2 1 3 1 2 42 42 42 42 1 7 6
输出#1
YES NO YES NO
说明/提示
The first test case is described in the statement: we can perform a push operation with parameters (l=3,r=5,k=2) to make a equal to b.
In the second test case, we would need at least two operations to make a equal to b.
In the third test case, arrays a and b are already equal.
In the fourth test case, it's impossible to make a equal to b, because the integer k has to be positive.
第一个测试用例在题目描述中已给出:我们可以执行一次参数为 (l=3,r=5,k=2) 的 push 操作,使得 a 等于 b。
在第二个测试用例中,我们需要至少两次操作才能使 a 等于 b。
在第三个测试用例中,数组 a 和 b 已经相等。
在第四个测试用例中,无法使 a 等于 b,因为整数 k 必须为正数。
输入解题思路,AI测评打分。不知道怎么写?