【解题方法】直接装压就行了。

【AC 代码】

//
//Created by just_sort 2016/9/26 10:30
//Copyright (c) 2016 just_sort.All Rights Reserved
//

#include <set>
#include <map>
#include <queue>
#include <stack>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
int a[20],ans[2000];
int main()
{
    int T,n;
    scanf("%d",&T);
    while(T--){
        scanf("%d",&n);
        for(int i = 0; i < n; i++) scanf("%d",&a[i]);
        int cnt = 0;
        memset(ans,0,sizeof(ans));
        for(int i = 0; i < (1<<n); i++){
            int temp = 0;
            for(int j = 0; j < n; j++){
                if(i & (1<<j)) temp += a[j];
            }
            ans[cnt++] = temp;
        }
        sort(ans,ans+cnt);
        for(int i = cnt-2; i >= 0; i--){
            if(ans[i] != ans[cnt-1]){
                printf("%d\n",ans[i]);
                break;
            }
        }
    }
    return 0;
}