和325题一样。。。
#include<stdio.h>
#include<string.h>
int num[1001];
int n,sum;
int dp[50005];
int main(){
int N,i,j;
scanf("%d",&N);
while(N--){
sum=0;
memset(dp,0,sizeof(dp));
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&num[i]);
sum+=num[i];
}
for(i=0;i<n;i++){
for(j=sum/2;j>=num[i];j--)
if(dp[j]<dp[j-num[i]]+num[i])
dp[j]=dp[j-num[i]]+num[i];
}
printf("%d\n",sum-2*dp[sum/2]);
}
return 0;
}