#栗酱的连通图#
思路
每个点权都是偶数,所以每条边权值是整数,数据全用整数型就好了。
注意到每两个点之间都有边,所以要求最大的权值之和,只需求最大点到其他点的边权之和就好了。
代码
#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;
}
京公网安备 11010502036488号