Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
116561 | 赵德明 | 分割等和子集 | C++ | 通过 | 100 | 0 MS | 324 KB | 465 | 2023-12-17 14:28:38 |
#include<bits/stdc++.h> using namespace std; int main(){ int n,a[205],sum=0,dp[20005]; memset(a,0,sizeof(a)); memset(dp,0,sizeof(dp)); cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; dp[a[i]]=a[i]; sum+=a[i]; } if(sum%2){ cout<<"false"; return 0; } sum/=2; for(int i=1;i<=n;i++){ for(int j=a[i];j<sum;j++){ dp[j]=max(dp[j],dp[j-a[i]]+a[i]); } } if(dp[sum]=sum){ cout<<"true"; } else cout<<"false"; return 0; }