1 条题解
-
0无影 (吴鹏飞) LV 10 @ 2022-08-10 16:39:55
#include <bits/stdc++.h> //万能头
using namespace std;
int main() {
int num, i,x = 0,ans = 0;
priority_queue<int,vector<int>, greater<int> >p; //greater让根节点最小
cin >> num;
for (i = 0;i < num;i++) {
cin >> x;
p.push(x); //放入数字
}
while (p.size() != 1) {
x = p.top();
p.pop();
x += p.top(); //将最大的两个相加
p.pop();
p.push(x); //将和放入队列
ans += x;
}
cout << ans << endl; //输出答案
}
- 1