T364141 [CZSC 2023] 染色
题目背景
由于你在上一题中只用了几分钟就想到了 80 分的做法,明陌非常震惊,于是随后几天经常在 Caiwen 面前夸奖你。
一天,明陌Coper 在打穿越火线的时候遇到了这一道题。 Caiwen觉得很好,并且想到了 明陌Coper 时不时地就提到你,感觉你可能是未来的计算机科学家,于是就~~教唆~~ 明陌Coper 改编了一下然后搬了过来考考你。
(如果你不知道为什么是穿越火线这款游戏,埋个伏笔,你在将来的比赛中会得到答案的)
题目描述
给定一个长度为 $n$ 的序列。
你需要将这个序列中的数字染成蓝色或者红色,并且每种颜色至少有一个数字被着色。
然后你需要判断是否可以用这两种颜色对数组中的元素进行染色,使得每种颜色的元素之和的奇偶性相同。
输入格式
第一行,一个整数 $n$,序列长度。
第二行, $n$ 个整数 $a_1,a_2,…,a_n$。
输出格式
判断是否可以用这两种颜色对数组中的元素进行染色,使得每种颜色的元素之和的奇偶性相同,如果可以,输出 `YES`,不可以,输出 `NO`。
说明/提示
**样例 1 解释**
你可以按如下方式着色:\[$\blue1$,$\blue2$,$\red4$,$\blue3$,$\red2$,$\red3$,$\red5$,$\red4$\],其中蓝色元素的总和为 6,红色元素的总和为 18。
6 和 18 的奇偶性相同,因此输出 `YES`。
**样例 2 解释**
只有两种着色 $[\blue4,\red7]$
和 $[\red4,\blue7]$,但在这两种情况下,蓝色的数和红色的数的和的奇偶性是不同的。
**数据范围**
对于测试点1-5,满足 $a_i$ 全为奇数或全为偶数,你需要通过所有的测试点才可以获得 20 分。
对于测试点6,满足 $n=1$,20分。
对于测试点7-20,没有特殊性质,你需要通过所有的测试点才可以获得 60 分。
对于所有的测试点,都满足 $n\le 2 * 10^5$。
**后记**
有了上一题的经验,你下意识的研究起数据范围。虽然在读题的时候一头雾水,但看完数据范围后稍加思考就发现了出题人的善良之处。于是你写出了 40 分的做法。但对剩下的 60分,却是仍然是一头雾水。
于是 明陌Coper 引导你:**算法竞赛侧重于算法而不是编程。你可以拿个草稿纸,在草稿纸上研究研究,就像做数学题一样。**
听到这句话,你眉头一皱,在此之前你一直都在考虑如何从语法的层面枚举染成的颜色,然后判断是否符合要求,写了半天都没写出来。
听君一席言,胜读十年书, 6 月,在河北省初中毕业生升学文化课考试的考场上,你临危不惧,在短短时间内解决了数学的压轴题的画面浮现在你的脑海中,于是你拿起笔,打算用思维战胜这个题。
在草稿纸上研究了一会,你发现了一些特殊性质,于是你用非常短的代码解决了这个题。