题目传送门
代码:
#include<bits/stdc++.h>
using namespace std;int main(){priority_queue<int,vector<int>,greater<int> >que;int T;scanf("%d",&T);while(T--){int n;scanf("%d",&n);while(!que.empty()) que.pop();for(int i=1,val;i<=n;i++){scanf("%d",&val);que.push(val);}int sum=0,tmp;while(que.size()>2){tmp=0;tmp=que.top();que.pop();tmp+=que.top();que.pop();sum+=tmp;que.push(tmp);}while(!que.empty()) sum+=que.top(),que.pop();printf("%d\n",sum);}
}