提交时间:2025-05-27 15:25:04

运行 ID: 193913

#include <iostream> #include <queue> #include <vector> using namespace std; int main() { int n; cin >> n; priority_queue<int, vector<int>, greater<int>> pq; for (int i = 0; i < n; ++i) { int a; cin >> a; pq.push(a); } int total_cost = 0; while (pq.size() > 1) { int a = pq.top(); pq.pop(); int b = pq.top(); pq.pop(); int cost = a + b; total_cost += cost; pq.push(cost); } cout << total_cost << endl; return 0; }