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相同。

全部评论

相关推荐

03-31 14:46
已编辑
门头沟学院 Web前端
励志成为双港第一ja...:这其实很正常,离的太远了,他认为你不会来,就为了混个面试,而且成本很高,实习生都优先选本地高校。吃了地域的亏,所有很多时候地域可能比院校层次更重要。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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