Music Problem
Music Problem
http://www.nowcoder.com/questionTerminal/7d1948ec26b5429c82f3a4cf48784612
抽屉原理的应用:一个由n个数组成的数列 一定能找出若干个连续的数使它们之和能被n整除。
所以 n >= 3600 时输出 YES
证明:n个数记为a[1],a[2],...a[n].设置一个数组sum,其存储信息为sum[i] = a[1] + a[2] + ...a[i];
情况一:存在一个k(1 <= k <= n),使得sum[k] % n == 0,那么就得证;
情况二:对于任意的k(1 <= k <= n),都有sum[k] % n != 0,那么余数的种类只有 1 到 n-1 总共 n-1 种情况,但是有 n 个 sum,由抽屉原理
可知必然有两个sum(假设为sum[i],sum[j],j > i)的余数相同。因此 (sum[j] - sum[i]) % n = (sum[j] % n - sum[i] % n) = 0;
所以 n >= 3600 时输出 YES
小于 3600 时搞个集合存一下就好了很简单的