以前做这道题时A了,但今天又来做一遍这个题,结果发现加了个Substack 2而且就一个测试点还是50分,什么情况……
Code:
#include<cstdio>
#include<algorithm>
using namespace std;
const int MAXN=10010;
int n,num,dp[MAXN],a[MAXN];
int main()
{
scanf("%d",&n);
for(register int i=1;i<=n;i++) scanf("%d",&a[i]),num+=a[i];
for(register int i=1;i<=n;i++)
for(register int j=num/2;j>=a[i];j--)
dp[j]=max(dp[j],dp[j-a[i]]+a[i]);
printf("%d\n",dp[num/2]);
return 0;
}