标签:
2 5 2 6 5 8 9 3 2 1 5
0 2
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; int dp[10010]; //定义全局变量 int main() { int t; scanf("%d",&t); while(t--) { int i,j,a[1010]={0},n,sum=0,s=0; scanf("%d",&n); for(i=0; i<n; i++) { scanf("%d",&a[i]); s+=a[i]; } sum=s/2; memset(dp,0,sizeof(dp)); for(i=0; i<n; i++) for(j=sum; j>=a[i]; j--) dp[j]=max(dp[j],dp[j-a[i]]+a[i]); //取还是不取,求出最大值 printf("%d\n",s-2*dp[sum]); } return 0; }
标签:
原文地址:http://blog.csdn.net/zar123456/article/details/51332769