| 题目链接 | 难度等级 | 完成状态 | 完成分数 | 最后编辑时间 | 需要注意 |
|---|---|---|---|---|---|
| 合并果子 | ★☆☆☆☆ | 答案正确 | 100 | 2015-7-19 17:07:25 | 无 |
| 1063.cpp代码已折叠
展开折叠内容
|
|---|
#include<cstdio>
#include<algorithm>
#include<iostream>
#include<set>
#include<queue>
using namespace std;
int n;
priority_queue<int,vector<int>,greater<int> >u;
int main(){
cin>>n;
for(int i=1;i<=n;++i)
{
int a;
cin>>a;
u.push(a);
}
int ans=0;
while(u.size()>1)
{
int a=u.top();//每次合并两个最小的果子//
u.pop();
a+=u.top();
u.pop();
u.push(a);//生成一堆新果子//
ans+=a;//计算体力//
}
cout<<ans<<endl;
}
|