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