文章

59

粉丝

0

获赞

260

访问

5.6k

头像
合并果子 题解:priority_queue->minHeap
P1544 中南大学机试题
发布于2026年3月11日 17:53
阅读数 92

#include <bits/stdc++.h>
using namespace std;

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

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发