NOIP2004合并果子(提高组T2)————优先队列STL,贪心

题解:本题主要考查优先队列STL,贪心。若要体力最小,就要将最小的果合并,合并后的果子再入队。
代码如下:

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

猜你喜欢

转载自blog.csdn.net/wly1127/article/details/82942880