讨论 / 90分?
Luna玥 2017-07-30 00:19:37
点我顶贴 收藏 删除
//moon beautiful!!!

#include<iostream>

#include<cstdio>

#include<cstring>

#include<algorithm>

#include<cmath>

#include<stack>

#include<queue>

int a[101],dp[101];

using namespace std;

int main()

{

int n,maxn=0;

cin>>n;

for(int i=1;i<=n;i++)

{

cin>>a[i];

maxn+=a[i];

}

int t=maxn;

maxn/=2;

for(int i=1;i<=n;i++)

for(int j=maxn;j>=a[i];j--)

{

dp[j]=max(dp[j],dp[j-a[i]]+a[i]);

}

cout<<t-dp[maxn]*2;

return 0;

}

#1 Magna_Medivh@2017-07-31 08:00:53
回复 删除
兄弟,你dp数组开到101不够的吧。。
查看更多回复
提交回复