【bzoj1724】[Usaco2006 Nov]Fence Repair切割木板

#include  
#include 
long long n,ans=0;  
using namespace std;  
int main()  
{  
    priority_queue,greater > q;  
    scanf("%lld",&n); 
    for(int i=1;i<=n;i++){ 
        int s;scanf("%lld",&s);q.push(s); 
    } 
    for(int i=1;i<=n-1;i++)  
    {  
        int x=q.top();q.pop(); 
        int y=q.top();q.pop(); 
        ans+=x+y;  
        q.push(x+y);  
    }  
    printf("%lld",ans);  
    return 0;  
}  

你可能感兴趣的:(数据结构)