首页 > 其他 > 详细

poj3253

时间:2014-08-08 21:33:06      阅读:378      评论:0      收藏:0      [点我收藏+]
/** \brief poj 3253
 *
 * \param date 2014/8/8
 * \param state AC
 * \return memory 1124K time 125ms
 *
 */

#include <iostream>
#include <fstream>
#include <queue>
#include <functional>

using namespace std;

struct number
{
    //int x;
    __int64 x;
    bool operator < (const number& a) const{
         return x>a.x;//最小值优先
    }

};

priority_queue<number>que;

//int total,mincost;
__int64 total,mincost;

int main()
{
    //cout << "Hello world!" << endl;
    //freopen("input.txt","r",stdin);
    int n;
    while(scanf("%d",&n)!=EOF)
    {
        number num;
        for(int i=0;i<n;i++)
        {
            //int v;
            __int64 v;
            cin>>v;
            num.x=v;
            que.push(num);
        }
        mincost=0;
        total=0;
        while(que.size()>1)
        {
            number v1,v2,temp;
            v1=que.top();
            que.pop();

            v2=que.top();
            que.pop();

            total=(v1.x+v2.x);

            temp.x=total;

            que.push(temp);
            mincost+=total;
        }
        cout<<mincost<<endl;

        while(!que.empty())
            que.pop();
    }
    return 0;
}



poj3253,布布扣,bubuko.com

poj3253

原文:http://blog.csdn.net/greenapple_shan/article/details/38443171

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