#include <stdio.h>#include <string.h>// 写背包问题一定要写上这两行,我老是写到一半再回来添。 #include <algorithm>int a[1005];int sum[500005];int main(){ using namespace std; int m,n; int max_s; scanf("%d",&m); int i,j; while(m--) { scanf("%d",&n); max_s = 0; memset(sum,0,sizeof(sum)); for(i=0; i<n; i++) { scanf("%d",&a[i]); max_s += a[i]; } for(i=0;i<n;i++) { for(j=max_s/2; j>=a[i]; j--) { sum[j] = max(sum[j],sum[j-a[i]]+a[i]); } } printf("%d\n",max_s - 2*sum[max_s/2]); //很好想 } return 0;}