其他分享
首页 > 其他分享> > AcWing 148. 合并果子

AcWing 148. 合并果子

作者:互联网

题目传送门

一、理解题意

1.png

二、算法思路

QQ截图20210324160340.png

三、实现代码

#include <bits/stdc++.h>

using namespace std;
//升序队列,小顶堆
priority_queue<int, vector<int>, greater<int>> q;

int res;

int main() {
    //优化输入
    ios::sync_with_stdio(false);
    int n;
    cin >> n;

    while (n--) {
        int x;
        cin >> x;
        q.push(x);
    }

    while (q.size() > 1) {
        int a = q.top();
        q.pop();
        int b = q.top();
        q.pop();
        res += a + b;
        q.push(a + b);
    }
    printf("%d\n", res);
    return 0;
}

标签:果子,int,res,top,cin,pop,while,148,AcWing
来源: https://www.cnblogs.com/littlehb/p/15488791.html