题目描述
注意priproity_queue的参数写法,中间是底层容器类型
样例
#include <algorithm>
#include <queue>
using namespace std;
int main(){
int n;
scanf("%d",&n);
priority_queue<int,vector<int>,greater<int>> heap;
while(n--){
int x;
scanf("%d",&x);
heap.push(x);
}
int res = 0;
while(heap.size()>1){
int a=heap.top();heap.pop();
int b=heap.top();heap.pop();
res+=a+b;
heap.push(a+b);
}
printf("%d",res);
return 0;
}
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla