eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Добавить все

опубликовано 25.03.2024, 19:17:23

include <iostream>

include <queue>

using namespace std;

int main() { int n; scanf("%d", &n);

priority_queue<long long, vector<long long>, greater<long long>> pq;

long long num, res = 0;
for (int i = 0; i < n; i++) {
    scanf("%lld", &num);
    pq.push(num);
}
while (pq.size() > 1) {
    long long a = pq.top(); pq.pop();
    long long b = pq.top(); pq.pop();
    pq.push(a + b);
    res += a + b;
}
cout << res << endl;
return 0;

}