哈夫曼树
注意结果要用long long 因为Li可能被加和多次 N*max(Li)不不是求和的最大值
#include
#include
#include
#include
using namespace std;
#define debug(x) cout#pragma warning(disable:4996)
int main()
{
//freopen("../in2.txt","r",stdin);
priority_queue, greater> q;
int N;
cin >> N;
for (int i = 0; i int t;
cin >> t;
q.push(t);
}
long long int ret = 0;
while (q.size() > 1) {
int a = q.top();
q.pop();
int b = q.top();
q.pop();
q.push(a + b);
ret += a + b;
}
cout
return 0;
}