#include<bits/stdc++.h>
using namespace std;
int main(void)
{
int sum,n,i,b;
priority_queue<int,vector<int>,greater <int> >a;//< 小顶堆, 升序
while(~scanf("%d",&n))
{
sum=0;
for(i=0;i<n;i++){//n
scanf("%d",&b);
a.push(b);
}
for(i=1;i<n;i++){//n-1
b=0;
sum+=a.top() ;b+=a.top() ;
a.pop() ;
sum+=a.top() ;b+=a.top() ;
a.pop() ;
a.push(b);
}
printf("%d\n",sum);
}
return 0;
}
合并果子C++优先队列
猜你喜欢
转载自blog.csdn.net/qq_43791377/article/details/88746321
今日推荐
周排行