Input

 

第一行一个整数T,表示数据组数。

对于每组数据,首先读入一个整数n(n<=100000),然后接下来的一行有n个整数,表示a[i] (0<a[i]<=1e9)

Output

 

对于每个数据,输出一个整数x,表示店主要送x元的代金券给TMK

 

Sample Input

1 3 1 2 3

Sample Output

6

HINT

/*
题意:略

思路:先将所有的数排序,先特判一下第一个数是不是1,如果不是的话,那么肯定不可能有x,否则就找到第一个a[i]使得
a[i]>a[i-1]+...a[0]+1,这个a[i]就是一定不能组成的

*/
#include<bits/stdc++.h>
using namespace std;
int t;
int n;
long long a[100005];
long long res;
void init(){
    res=0;
}
int main(){
    // freopen("in.txt","r",stdin);
    scanf("%d",&t);
    while(t--){
        init();
        scanf("%d",&n);
        for(int i=1;i<=n;i++){
            scanf("%lld",&a[i]);
        }
        sort(a+1,a+n+1);
        int f=0;
        for(int i=1;i<=n;i++){
            if(a[i]>res+1){
                f=1;
                printf("%lld\n",res);
                break;
            }
            res+=a[i];
        }
        if(f==0){
            printf("%lld\n",res);
        }
    }
    return 0;
}

 

我每天都在努力,只是想证明我是认真的活着.