文章

54

粉丝

0

获赞

12

访问

1.2k

头像
哈夫曼树 题解:
P1382 北京邮电大学/兰州大学机试
发布于2026年1月27日 12:49
阅读数 27

#include<iostream>
#include<queue>

using namespace std;

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

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发