0
点赞
收藏
分享

微信扫一扫

acwing.【合并果子】(贪心)

八怪不姓丑 2022-03-11 阅读 46

最优二叉树(霍夫曼树)的应用

#include<iostream>
#include<queue>
using namespace std;


int main(){
	int n;
	cin>>n;
	priority_queue<int,vector<int>,greater<int>> a;
	for(int i=1;i<=n;i++){
		int  x;
		cin>>x;
		a.push(x);
	}
	int sum=0;
	while(a.size()!=1){
		int i=a.top();
		a.pop();
		int j=a.top();
		a.pop();
		sum+=i+j;
		a.push(i+j);
	}
	cout<<sum;
	return 0;
}
举报

相关推荐

0 条评论