解题思路:
注意事项:
参考代码:
#include <iostream> #include <queue> #include <cstdio> using namespace std; const int maxn = 210; priority_queue<int, vector<int>, greater<int> > q; int main(void) { int n; cin >> n; for(int i = 0; i < n; i++) { int tmp; cin >> tmp; q.push(tmp); } int x,y,ans = 0; while(q.size() > 1) //当队列中的元素个数大于等于2时 { x = q.top(); q.pop(); y = q.top(); q.pop(); q.push(x+y); ans += (x + y); } cout << ans; return 0; }
0.0分
0 人评分
震宇大神的杀毒软件 (C++代码)浏览:1115 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:791 |
C语言训练-计算1~N之间所有奇数之和 (C语言代码)浏览:646 |
C语言训练-求1+2!+3!+...+N!的和 (C语言代码)浏览:786 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:531 |
打印十字图 (C语言代码)浏览:2702 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:786 |
企业奖金发放 (C语言代码)浏览:2316 |
A+B for Input-Output Practice (III) (C语言代码)浏览:420 |
快速排序算法1浏览:884 |