7-58 修理牧场
主要使用了优先队列,实时对队列进行排序。
//优先队列
#include "bits/stdc++.h"
using namespace std;
int main(){
int n;
cin>>n;
long long sum=0;
priority_queue<int,vector<int>,greater<int>> qu;
for(int i=0;i<n;i++){
int x;
cin>>x;
qu.push(x);
}
while(qu.size()>1){
int a=qu.top();
qu.pop();
int b=qu.top();
qu.pop();
int c=a+b;
sum+=c;
qu.push(c);
}
cout<<sum;
return 0;
}