#include <bits/stdc++.h>
using namespace std;
const int maxn = 10005;
int main(int argc, char const *argv[])
{
int a[maxn];
int n;
cin >> n;
priority_queue<int, vector<int>, greater<int> > q;
for(int i = 1; i <= n; i++) {int x;cin >> x; q.push(x);}
int ans = 0;
while(q.size() > 1) {
int x=q.top(); q.pop();
int y=q.top(); q.pop();
q.push(x+y);
ans += x + y;
}
cout << ans;
return 0;
}
相关文章
- 03-02【堆的启发式合并】【P5290】[十二省联考2019]春节十二响
- 03-02luogu P5290 [十二省联考2019]春节十二响 优先队列_启发式合并
- 03-02swagger2整合并不是那么随便
- 03-02用于与其他目标文件合并链接,以构建出二进制可执行文件或动态链接库
- 03-02Python元组:不使用for循环进行比较和合并
- 03-02[Leetcode 44]合并有序列表Merge k Sorted Lists
- 03-024.17 省选模拟赛 远行 LCT 启发式合并 倍增
- 03-02区间 DP + 石子合并
- 03-02[CF666E] Forensic Examination [广义后缀自动机+线段树合并]
- 03-02Codeforces 666E Forensic Examination 广义后缀自动机+线段树合并