#栗酱的连通图#

思路

每个点权都是偶数,所以每条边权值是整数,数据全用整数型就好了。
注意到每两个点之间都有边,所以要求最大的权值之和,只需求最大点到其他点的边权之和就好了。

代码

#include    
using namespace std;
int t,n,ans,a[1005];
int main(){
    scanf("%d",&t);
    while(t--){
        ans=0;
        scanf("%d",&n);
        for(int i=1;i<=n;i++) scanf("%d",&a[i]);
        sort(a+1,a+1+n);
        for(int i=n-1;i>=1;i--) ans+=(a[n]+a[i])/2;
        cout<<ans<<endl;
    }
    return 0;
}