B. Zero Array

题目链接
题意
给你n个数,每次取两个数,然后让其各减1,问能否用一种方式让所有数全部变为0。如果可以,则输出YES,否则输出NO。

思路
记n个数的和为SUM,如果SUM为奇数,显然推出不可能。
如果SUM是偶数,则需要判断n个数中最大的数的2倍与SUM的关系。
记n个数中最大的数为A,那么如果A2>SUM,那么不管怎么减都不可能达到最后全是0的效果。但是如果A2 <= SUM的话,我们就可以把n个数化成两堆,一堆有一个数A,另外一堆有一堆数,SUM-2*A(记为B)。
A + B = A+B=偶数 A+B=
推出
A B = A-B=偶数 AB=所以A与B的奇偶性相同,我们可以让B这堆减去(A-B)就可以与A相同。

全部评论

相关推荐

12-13 14:51
已编辑
井冈山大学 算法工程师
龙虾x:算法比你强的没有你美,比你美的…..算了已经没有比你美的了
工作两年想退休了
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务