首页 > 其他 > 详细

7-29 修理牧场 (25分)--优先队列

时间:2020-03-23 15:07:53      阅读:510      评论:0      收藏:0      [点我收藏+]
#include <iostream>
#include <string>
#include <cstring>
#include <queue>
#include <vector>
using namespace std;
priority_queue<int, vector<int>, greater<int>>q;
int main()
{
    int n;
    int sum_=0;
    cin >> n;
    if(n==1){cout << "0"; return 0;}
    for (int i = 0; i < n; i++)
    {
        int t;
        cin >> t;
        q.push(t);
    }
    while (!q.empty())
    {
        int a = q.top(); q.pop();
        if (!q.empty())
        {
            int b = q.top(); q.pop();
            sum_ += (a + b);
            if(!q.empty())
            q.push(a + b);
        }
        else
            sum_ += a;
    }
    cout << sum_ << endl;
}

 

7-29 修理牧场 (25分)--优先队列

原文:https://www.cnblogs.com/2020R/p/12551040.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!