#include <cstdio>
#include <cstdlib>
#include <queue>
typedef long long int int64;
using namespace std;
int main(){
int n;
while(scanf("%d", &n) == 1){
priority_queue<int64> prc;
for(int lx = 0;lx < n;lx++){
int64 inp; scanf("%lld", &inp);
prc.push(-inp);
}
int64 sum = 0;
if(n == 1) sum = prc.top();
if(n%2 == 0){
int64 c = 0;
c += prc.top(); prc.pop();
c += prc.top(); prc.pop();
prc.push(c);
sum += c;
}
while(prc.size() >= 3){
int64 c = 0;
c += prc.top(); prc.pop();
c += prc.top(); prc.pop();
c += prc.top(); prc.pop();
prc.push(c);
sum += c;
}
printf("%lld\n", -sum);
}
return 0;
}
沒有留言:
張貼留言