#include <iostream>
#include <cstdio>
#include <queue>
using namespace std;
const int MAX_N = 50010;
typedef long long ll;
int N, L[MAX_N];
void solve() {
ll ans = 0;
priority_queue<int, vector<int>, greater<int> > que;
for (int i = 0; i < N; i++) {
que.push(L[i]);
}
while (que.size() > 1) {
int l1, l2;
l1 = que.top();
que.pop();
l2 = que.top();
que.pop();
ans += l1 + l2;
que.push(l1 + l2);
}
printf("%lld\n", ans);
}
int main() {
scanf("%d", &N);
for (int i = 0; i < N; i++) {
scanf("%d", &L[i]);
}
solve();
return 0;
}
poj 3253 优先级队列 哈夫曼编码
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 原文链接:http://blog.csdn.net/itplus/article/details/37969817...
- 什么是哈夫曼树(Huffman Tree)eg:将百分制的考试成绩转换为五分制的成绩if ( score < 60...
- 最近在做智能穿戴设备的项目,需要将一些状态数据集合传输回APP端,由于数据集合稍大,如果原封不动地将集合传输过去,...
- 1.原创:http://blog.csdn.net/tengweitw/article/details/45478...