解题思路:
注意事项:
参考代码:
#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语言代码)浏览:938 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:507 |
本人酷爱递归实现很多问题,这里也是浏览:557 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:569 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:529 |
杨辉三角 (C语言代码)浏览:484 |
C语言程序设计教程(第三版)课后习题9.4 (C语言代码)浏览:646 |
C二级辅导-公约公倍 (C语言代码)浏览:483 |
永远的丰碑 (C语言代码)浏览:525 |
前10名 (C语言代码)浏览:727 |