The King and King boss
Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others)
王和王老板总是在向大家传授什么是美。今天,王老板要为趣味赛出题,他想出了一个很美的问题:“给你一个包含 n 个元素的整数集合 a1⋯an ,
问你是否可以找到它的一个子集,使得这个子集的和可以被 n 整除”
听到了这个问题后,王暗想“这是个非常简单的问题,我可以设计一个动态规划算法在线性时间复杂度内轻松解决”,但他口头上依然称赞这是个非常好
的问题。当然,王不打算亲自解决(这题太水啦!),他用不容拒绝的口吻命令你完成它。
Input
第一行是整数集合的大小 n(1≤n≤10000)
第二行包含 n 个整数 a1⋯an ,且每个数都小于 10000(ai≤10000)
Output
如果存在上述的一个子集,输出Yes
,否则输出No
(注意大小写)。
例子:如果给你三个数的集合{
2,4,4
},你可以非常轻松地看出,子集{
2,4
}的和为
6
可以被
3
整除,所以会毫不犹豫地输出Yes
。
Sample input and output
Sample Input | Sample Output |
---|---|
3 2 4 4 | Yes |
My Solution
#include <iostream>
#include <string>
#include <cstdio>
int main()
{
int n;
scanf("%d",&n);
std::string str;
getchar();
getline(std::cin,str);
printf("Yes");
return 0;
}
或者
#include <iostream> #include <cstdio> using namespace std; const int maxn=10000+8; int A[maxn]; int main() { int n; scanf("%d",&n); for(int i=0;i<n;i++) scanf("%d",&A[i]); printf("Yes"); return 0; }