题解 | 搬水果
搬水果
https://www.nowcoder.com/practice/e4c775b0f3ee42a4bb72c26d2e1eef8a
#include<iostream> #include<queue> using namespace std; int main(){ int n; while(cin>>n){ if(n==0){ break; } priority_queue<int,vector<int>,greater<int>> queue; for(int i=0;i<n;i++){ int x; cin>>x; queue.push(x); } int sum=0; while(queue.size()>1){ int a=queue.top(); queue.pop(); int b=queue.top(); queue.pop(); sum+=a+b; queue.push(a+b); } cout<<sum<<endl; } }