#include<iostream>
#include <queue>
#include <cstdio>
using namespace std;
int main()
{
int d,result,a,b;
//大根堆,升序队列,先弹出最小的,不写默认大根堆降序
priority_queue<int,vector<int>,greater<int>> myQueue;
for(int i=0;i<5;i++){
scanf("%d",&d);
myQueue.push(d);
}
result=0;
while(myQueue.size()>1){
a=myQueue.top();
myQueue.pop();
b=myQueue.top();
myQueue.pop();
result+=a+b;
myQueue.push(a+b);
}
cout<<result;
return 0;
}
11-28
1591
05-13
513
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交