cdoj 1017 The King and King boss

来源:互联网 发布:时空大数据云平台 编辑:程序博客网 时间:2024/05/15 10:39

王和王老板总是在向大家传授什么是美。今天,王老板要为趣味赛出题,他想出了一个很美的问题:“给你一个包含n个元素的整数集合a1an,问你是否可以找到它的一个子集,使得这个子集的和可以被n整除”

听到了这个问题后,王暗想“这是个非常简单的问题,我可以设计一个动态规划算法在线性时间复杂度内轻松解决”,但他口头上依然称赞这是个非常好的问题。当然,王不打算亲自解决(这题太水啦!),他用不容拒绝的口吻命令你完成它。

Input

第一行是整数集合的大小n(1n10000)

第二行包含n个整数a1an,且每个数都小于10000(ai10000)

Output

如果存在上述的一个子集,输出Yes,否则输出No(注意大小写)。

例子:如果给你三个数的集合{2,4,4},你可以非常轻松地看出,子集{2,4}的和为6可以被3整除,所以会毫不犹豫地输出Yes

Sample input and output

Sample InputSample Output
32 4 4
Yes

Source

qzy


解析

我们模上n得到的余数k只能是0,1,2...n-1。根据抽屉原理,则这n个余数必然存在0或者存在两项相等。如果存在0,那么就选取这个前缀。如果存在两项相等,那么就选取这一段中间的所有数。结论就是不管怎么样都存在。

0 0