CF2055B.Crafting
普及-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
正如你所预料的,佛罗里达拥有许多奇异的魔法力量,而“Florida Man”正试图驯服它们。有 n 种不同类型的魔法材料,编号从 1 到 n。最初,对于每个 i 从 1 到 n,你拥有 ai 单位的第 i 种材料。你可以进行如下操作:
- 选择一种材料 i(其中 1≤i≤n)。然后,消耗每种其他材料 j(即 j=i)各 1 单位,以获得 1 单位的第 i 种材料。更正式地说,选择材料 i 后,更新数组 a:ai:=ai+1,并且对于所有 j 满足 j=i 且 1≤j≤n,有 aj:=aj−1。注意,所有 aj 必须保持非负,即你不能消耗你没有的资源。
你正试图用这些材料制作一件神器。要成功制作神器,对于每个 i 从 1 到 n,你必须至少拥有 bi 单位的第 i 种材料。请判断是否可以通过任意次数(包括零次)上述操作后,成功制作神器。
输入格式
每个测试点包含多个测试用例。第一行包含一个整数 t(1≤t≤104),表示测试用例的数量。
每个测试用例的第一行包含一个整数 n(2≤n≤2×105),表示材料的种类数。
第二行包含 n 个整数 a1,a2,…,an(0≤ai≤109),表示你当前拥有的每种材料的数量。
第三行包含 n 个整数 b1,b2,…,bn(0≤bi≤109),表示制作神器所需的每种材料的数量。
保证所有测试用例中 n 的总和不超过 2×105。
输出格式
对于每个测试用例,输出一行 "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,这已经足够制作神器。