解法:优先队列!
#include<bits/stdc++.h>
#define ll long long
using namespace std;
struct cmp
{
bool operator ()(const int a,const int b) const
{
return a>b;
}
};
int main()
{
int T;
cin>>T;
while(T--)
{
ll n,a;
cin>>n;
priority_queue<ll,vector<ll>,cmp>pq;
for(int i=0;i<n;i++)
{
cin>>a;
pq.push(a);
}
if(n==1)
{
cout<<n<<"\n";
continue;
}
ll s=0;
for(ll i=0;i<n;i++)
{
ll sum=0;
ll x=pq.top();
pq.pop();
sum+=x;
x=pq.top();
pq.pop();
sum+=x;
s+=sum;
if(pq.empty())
break;
pq.push(sum);
}
cout<<s<<"\n";
}
return 0;
}