```cpp
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
queue<ll> q1;
queue<ll> q2;
int main() {
int n;
cin>>n;
ll a[10001];
for(int i=1;i<=n;i++){
cin>>a[i];
}
sort(a+1,a+n+1);
for(int i=1;i<=n;i++){
q1.push(a[i]);
}
ll ans=0,x,y,he;
for (int i=1;i<=n-1;i++) {
if( (q1.front()<q2.front() && !q1.empty()) || q2.empty())
{
x=q1.front();
q1.pop();
}else{
x=q2.front();
q2.pop();
}
if( (q1.front() < q2.front() && !q1.empty() ) || q2.empty())
{
y=q1.front();
q1.pop();
}else{
y=q2.front();
q2.pop();
}
he=x+y;
ans=ans+he;
q2.push(he);
}
cout<<ans;
return 0;
}
```
by Dumbo @ 2024-02-15 19:23:52
不会堆怎么办?
by lcy0506 @ 2024-02-15 20:33:20