文章
10
粉丝
99
获赞
5
访问
7.3k
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, x;
while(cin>>n){
priority_queue<int, vector<int>, greater<int>> q; // 定义存储整数的最小堆
for (int i = 0; i < n; i++) {
cin >> x;
q.push(x);
}
int ans = 0;
while (q.size() > 1) {
int num1 = q.top();
q.pop();
int num2 = q.top();
q.pop();
ans += num1 + num2;
q.push(num1 + num2);
}
cout << ans<<endl;;
}
return 0;
}
登录后发布评论
暂无评论,来抢沙发