代码:
#include <bits/stdc++.h>
using namespace std;
#define int unsigned long long
int n,a[1000005],Heap[1000005],ans,cnt;
bool cmp(int a,int b)
{
if(a>b)
{
return true;
}
return false;
}
signed main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
cnt++;
Heap[cnt]=a[i];
push_heap(Heap+1,Heap+cnt+1,cmp);
}
for(int i=1;i<=n-1;i++)
{
int min1=Heap[1];
pop_heap(Heap+1,Heap+cnt+1,cmp);
cnt--;
int min2=Heap[1];
pop_heap(Heap+1,Heap+cnt+1,cmp);
cnt--;
int s=min1+min2;
ans+=s;
cnt++;
Heap[cnt]=s;
push_heap(Heap+1,Heap+cnt+1,cmp);
}
cout<<ans<<"\n";
return 0;
}