文章
17
粉丝
43
获赞
10
访问
14.5k
合并果子同个思路
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
while(cin>>n)
{
int x;
priority_queue<int,vector<int>,greater<int> > q;//优先队列从小到大排序,从小输出。
for(int i=0;i<n;i++)
{
cin>>x;
q.push(x);
}
int sum=0;
int a=0,b=0;
while(q.size()>1)
{
a=q.top();
q.pop();
b=q.top();
q.pop();
q.push(a+b);
sum=sum+a+b;
}
cout<<sum<<endl;
}
return 0;
}
登录后发布评论
暂无评论,来抢沙发