合并果子

简介: 合并果子


题目描述

输入

输出

样例输入1

3

1 2 9

样例输出1

15

做法1

#include <bits/stdc++.h>
using namespace std;
int main() {
    int n;
    cin >> n;
    /* 默认的PQ是从大到小弹出的 我们重载小于号为greater<int> 即从小到大弹出 */
    priority_queue<int, deque<int>, greater<int>> pq;
    while (n--) {
        int tmp;
        cin >> tmp;
        pq.push(tmp);
    }
    int ans = 0;
    /* 最后一个元素不参与合并 */
    while (pq.size() > 1) {
        int t1 = pq.top();
        pq.pop();
        int t2 = pq.top();
        pq.pop();
        ans += t1 + t2;
        pq.push(t1 + t2);
    }
    cout << ans << endl;
    return 0;
}
相关文章
|
5天前
|
JavaScript
线性dp之石子合并
线性dp之石子合并
|
5天前
|
人工智能
合并果子(哈夫曼树)NOIP2004提高组
合并果子(哈夫曼树)NOIP2004提高组
|
5天前
|
人工智能 算法
合并果子(优先级队列)
合并果子(优先级队列)
20 0
|
10月前
|
人工智能 算法 C++
洛谷 P1090 合并果子(贪心)
洛谷 P1090 合并果子(贪心)
101 0
|
5天前
|
算法 搜索推荐 Java
算法编程(四):合并两个有序数组
算法编程(四):合并两个有序数组
48 0
|
8月前
[NOIP2004]合并果子
[NOIP2004]合并果子
|
10月前
|
人工智能
1369:合并果子(fruit)
1369:合并果子(fruit)
|
10月前
1274:【例9.18】合并石子
1274:【例9.18】合并石子
|
11月前
|
人工智能
石子合并-区间dp
石子合并-区间dp
52 0
|
11月前
区间DP:合并石子
区间DP:合并石子
42 0