2016春季练习——贪心

来源:互联网 发布:ubuntu 输入法 安装 编辑:程序博客网 时间:2024/04/28 18:31

来源:FZU 1327

很水的贪心题,但是这里渐渐知道了怎么去分析贪心的取法,关键是使用不等式来计算我们最小值。。。

直接上代码:

#include <iostream>#include <cstdio>#include <cstring>#include <queue>using namespace std;const int MAXN=10010;int a[MAXN];priority_queue<int ,vector<int>,greater<int> >pq;//优先队列int main(){int n,i,d;while(scanf("%d",&n)!=EOF){    while(!pq.empty())pq.pop();//全部清除        for(i=0;i<n;i++)        {            scanf("%d",&d);            pq.push(d);        }        int d1,d2;        long long ans=0;        while(pq.size()>1){//留一个就好            d1=pq.top();            pq.pop();            d2=pq.top();            pq.pop();            d=d1+d2;            ans+=d;            pq.push(d);        }        printf("%lld\n",ans);}return 0;}

1 0
原创粉丝点击