'commit'
This commit is contained in:
27
TangDou/AcWing/Huffman/148.cpp
Normal file
27
TangDou/AcWing/Huffman/148.cpp
Normal file
@@ -0,0 +1,27 @@
|
||||
#include <bits/stdc++.h>
|
||||
|
||||
using namespace std;
|
||||
|
||||
// 升序队列,小顶堆
|
||||
priority_queue<int, vector<int>, greater<int>> q;
|
||||
int res;
|
||||
|
||||
int main() {
|
||||
int n;
|
||||
cin >> n;
|
||||
while (n--) {
|
||||
int x;
|
||||
cin >> x;
|
||||
q.push(x);
|
||||
}
|
||||
while (q.size() > 1) {
|
||||
int a = q.top();
|
||||
q.pop();
|
||||
int b = q.top();
|
||||
q.pop();
|
||||
res += a + b;
|
||||
q.push(a + b);
|
||||
}
|
||||
cout << res << endl;
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user