做题记录整理贪心4 P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G(2022/9/14)

P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G

这个有意思的地方在于笛卡尔树,建议去看这个

#include<bits/stdc++.h>
using namespace std;
priority_queue<int,vector<int>,greater<int> >a;
long long n,ans=0,j=0,x;
int main()
{
	cin>>n;
	for(int i=0;i<n;i++) 
	{ cin>>x;
	a.push(x);
}
	while(a.size()!=1)
	{
		j=0;
		j+=a.top();a.pop();
		j+=a.top();a.pop();
		ans+=j;a.push(j);
	}
	cout<<ans;
}
posted @ 2022-09-14 22:28  yyx525jia  阅读(26)  评论(0)    收藏  举报