#include <stdio.h>
#include <string.h>
#include <algorithm>
#define max(a,b) a>b?a:b 
using namespace std ;
int main()
{
    int num[25] ;
    int dp[100005] ;
    int i, j, n ;
    while(~scanf("%d", &n))
    {
        memset(dp, 0,sizeof(dp)) ;
        int sum = 0 ;
        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--)
            {
                dp[j] = max(dp[j], dp[j-num[i]]+num[i]) ;
            }
        }
        printf("%d\n", sum - 2*dp[sum/2]) ;
    }
    return 0 ;
}

 

posted on 2016-06-01 18:55  cleverbiger  阅读(83)  评论(0)    收藏  举报