#63. Grab the Candies
Grab the Candies
Mihai 和 Bianca 在玩装糖果的袋子。他们有一排长度为 的袋子数组 ,第 个袋子里有 颗糖。袋子会按照顺序从第 个发到第 个。
规则如下:
- 若某个袋子里的糖果数是偶数,则 Mihai 抢走该袋子;
- 否则(糖果数是奇数),Bianca 抢走该袋子;
- 谁抢到袋子,就把该袋子的糖果数加到自己的糖果总数中。
Mihai 想炫耀,所以他希望通过重新排列数组 的顺序,使得在发袋子的过程中任意时刻(除了开始时两人都是 0 这一刻),Mihai 的糖果总数都严格大于 Bianca 的糖果总数。
请判断是否存在这样的重新排列。
输入格式
-
第一行一个整数 (),表示测试用例数量。
-
每个测试用例:
- 第一行一个整数 (),表示袋子数量;
- 第二行 个整数 (),表示每个袋子的糖果数。
输出格式
对每个测试用例输出一行:
- 若存在满足条件的重新排列,输出
YES; - 否则输出
NO。
原题允许大小写任意。为保证固定输出,本题统一规定:仅输出全大写
YES或NO。
判定规则说明(用于数据生成与固定输出)
由于题目只要求判断是否存在重排,这里采用与题目等价且确定的判定方式:
- 令 为所有偶数袋子的糖果总和(Mihai 最终能拿到的总糖果数);
- 令 为所有奇数袋子的糖果总和(Bianca 最终能拿到的总糖果数);
若存在某时刻 Mihai 全程严格领先,则显然最终也必须满足 ;反之,当 时,可以把偶数袋子按从大到小放在前面,使 Mihai 先建立足够优势,从而可以构造出满足要求的顺序(在本题数据范围内该条件等价可行)。
因此固定判定为:
- 若 输出
YES,否则输出NO。
样例
输入
3
4
1 2 3 4
4
1 1 1 2
3
1 4 3
输出
YES
NO
NO
相关
在以下作业中: