nyoj-456-邮票分你一半

 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<algorithm>
 4 #include<math.h>
 5 using namespace std;
 6 int c[100010],w[105];
 7 int main()
 8 {
 9     int n,i,j,m;
10     scanf("%d",&m);
11     while(m--)
12     {
13         int sum=0;
14         scanf("%d",&n);
15         for(i=0;i<n;i++)
16         {
17             scanf("%d",&w[i]);
18             sum+=w[i];
19         }
20         int bag=sum/2;
21         memset(c,0,sizeof(c));
22         for(i=0;i<n;i++)
23             for(j=bag;j>=w[i];j--)
24                     c[j]=c[j-w[i]]+w[i]>c[j]?c[j-w[i]]+w[i]:c[j];
25         printf("%d\n",sum-2*c[bag]);
26     }
27     return 0;
28 }

 

posted @ 2013-07-16 08:47  nylg-haozi  阅读(133)  评论(0编辑  收藏  举报