poj Fence Repair 贪心

2014-11-23 22:57:52 · 作者: · 浏览: 4
反过来做,就是要合成一个板,容易想到每次选取最小的两块合并,结果最优。
#include   
#include   
#include   
#include   
#define ll long long  
using namespace std;  
const int maxn=2e4+9;  
  
int main()  
{  
    int n;  
    priority_queue ,greater > q;  
    while(scanf("%d",&n)!=EOF)  
    {  
        while(!q.empty()) q.pop();  
        for(int i=1,tmp;i<=n;i++)  
        {  
            scanf("%d",&tmp);  
            q.push(tmp);  
        }  
        long long ans=0;  
        for(int i=1;i