解题思路:
注意事项:
参考代码:
#include <cstdio>
#include <vector>
#include <queue>
using namespace std;
int main()
{
priority_queue<int,vector<int>,greater<int> >i;
int n;
scanf("%d",&n);
int x;
while(n --)
{
scanf("%d",&x);
i.push(x);
}
int y;
int sum=0;
while(1)
{
if(i.size()==1)
break;
x=i.top();
i.pop();
y=i.top();
i.pop();
sum+=x+y;
i.push(x+y);
}
printf("%d",sum);
return 0;
}
0.0分
0 人评分
C语言训练-谁家孩子跑最慢* (C语言代码)浏览:1507 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:1435 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C++代码)(手动优化一下计算)浏览:1277 |
WU-图形输出 (C++代码)浏览:800 |
校门外的树 (C语言代码)浏览:692 |
C语言考试练习题_一元二次方程 (C语言代码)浏览:574 |
求圆的面积 (C语言代码)浏览:1666 |
1017题解浏览:571 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:441 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:563 |