测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A16581. Crafting

编程题 普及-
知识点

题目描述

正如你所预料的,佛罗里达拥有许多奇异的魔法力量,而“Florida Man”正试图驯服它们。有 $n$ 种不同类型的魔法材料,编号从 $1$ 到 $n$。最初,对于每个 $i$ 从 $1$ 到 $n$,你拥有 $a_i$ 单位的第 $i$ 种材料。你可以进行如下操作:

- 选择一种材料 $i$(其中 $1\le i\le n$)。然后,消耗每种其他材料 $j$(即 $j\neq i$)各 $1$ 单位,以获得 $1$ 单位的第 $i$ 种材料。更正式地说,选择材料 $i$ 后,更新数组 $a$:$a_i := a_i + 1$,并且对于所有 $j$ 满足 $j\neq i$ 且 $1\le j\le n$,有 $a_j := a_j - 1$。注意,所有 $a_j$ 必须保持非负,即你不能消耗你没有的资源。

你正试图用这些材料制作一件神器。要成功制作神器,对于每个 $i$ 从 $1$ 到 $n$,你必须至少拥有 $b_i$ 单位的第 $i$ 种材料。请判断是否可以通过任意次数(包括零次)上述操作后,成功制作神器。

输入格式

每个测试点包含多个测试用例。第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例的数量。

每个测试用例的第一行包含一个整数 $n$($2\le n\le 2\times 10^5$),表示材料的种类数。

第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($0 \le a_i\le 10^9$),表示你当前拥有的每种材料的数量。

第三行包含 $n$ 个整数 $b_1, b_2, \ldots, b_n$($0 \le b_i\le 10^9$),表示制作神器所需的每种材料的数量。

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

输出格式

对于每个测试用例,输出一行 "YES" 或 "NO",表示是否能够制作出神器。

你可以以任意大小写输出答案。例如,"yEs"、"yes"、"Yes" 和 "YES" 都会被识别为肯定回答。

输入输出样例

输入 #1
3
4
0 5 5 1
1 4 4 0
3
1 1 3
2 2 1
2
1 10
3 3
输出 #1
YES
NO
YES

说明/提示

在第一个测试用例中,对材料 $1$ 执行一次操作。操作后,你将恰好拥有所需的资源:$1$ 单位的材料 $1$,以及各 $4$ 单位的材料 $2$ 和 $3$。

在第二个测试用例中,可以证明无论如何操作,都无法制作出神器。

在第三个测试用例中,可以对材料 $1$ 执行两次操作。操作后,你将拥有 $3$ 单位的材料 $1$ 和 $8$ 单位的材料 $2$,这已经足够制作神器。
上一题 去做题 下一题