P1090 合并果子
贪心与优先队列
没有什么多说的
#include <queue>
#include <cstdio>
#include <cmath>
#include <algorithm>
using namespace std;
priority_queue <int,vector<int>,greater<int> > q;
int main( ){
int n;
scanf("%d",&n);
int u[n+5];
for (int i=1;i<=n;i++){
scanf("%d",&u[i]);
q.push(u[i]);
}
int k=0;
for(int i=1;i<=n-1;i++){
int y=q.top();
q.pop();
int z=q.top();
q.pop();
k+=y+z;
q.push(y+z);
}
printf("%d",k);
return 0;
}
原文:https://www.cnblogs.com/liuziwen0224/p/11992413.html