【解题方法】直接装压就行了。
【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;
}