POJ 3253 Fence Repair

来源:互联网 发布:spss mac 人大 编辑:程序博客网 时间:2024/05/17 23:40

链接:http://poj.org/problem?id=3253

 

每次都找出最短的两个合并..优先队列

#include <iostream>#include<queue>using namespace std;int main(){    int n;    int i;    int t;    int a,b;    long long  ans;    priority_queue< int ,vector<int>,greater<int> > que;    while(cin>>n)    {        ans=0;        for(i=0;i<n;i++)        {            cin>>t;            que.push(t);        }        while(que.size()>1)        {            a=que.top();            que.pop();            b=que.top();            que.pop();            ans+=a+b;            que.push(a+b);        }        cout<<ans<<endl;    }    return 0;}


 

 

0 0