AcWing 148. 合并果子

题目传送门

一、理解题意

AcWing 148. 合并果子

二、算法思路

AcWing 148. 合并果子

三、实现代码

#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;
}
上一篇:Visual Studio 2008项目中WinForm窗体图标显示为类图标,只能打开代码而无法打开视图问题解决


下一篇:使用nslookup查看SSL安全证书域名验证信息