ybt 1369 合并果子

#include <iostream>
#include <algorithm>
#include<queue>
using namespace std;
int main()
{
	int n,i,j;
	int t1,t2,w,temp;
	int sum;
	priority_queue<int,vector<int>,greater<int> > qu;//从小到大出队 
	cin>>n;
	sum=0;
	for(i=0;i<n;i++)
	{cin>>temp;qu.push(temp);}
	for(i=0;i<n-1;i++)
	{
		t1=qu.top();
		qu.pop();
		t2=qu.top();
		qu.pop();
		w=t1+t2;
		qu.push(w);
		sum=sum+t1+t2;	 
	}//消耗体力就是将两个最小的相加之后,再叠加最小的两个 
	cout<<sum;
	return 0;
}

 

posted @ 2022-05-21 23:28  半喜  阅读(20)  评论(0)    收藏  举报