CF2055B.Crafting

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Crafting

题目描述

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

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

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

输入格式

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

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

第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n0ai1090 \le a_i\le 10^9),表示你当前拥有的每种材料的数量。

第三行包含 nn 个整数 b1,b2,,bnb_1, b_2, \ldots, b_n0bi1090 \le b_i\le 10^9),表示制作神器所需的每种材料的数量。

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

输出格式

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

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

说明/提示

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

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

在第三个测试用例中,可以对材料 11 执行两次操作。操作后,你将拥有 33 单位的材料 1188 单位的材料 22,这已经足够制作神器。

由 ChatGPT 4.1 翻译

样例

3
4
0 5 5 1
1 4 4 0
3
1 1 3
2 2 1
2
1 10
3 3
YES
NO
YES

在线编程 IDE

建议全屏模式获得最佳体验