解题思路:
注意事项:
参考代码:
#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语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:619 |
C语言训练-计算1977!* (C++代码)浏览:847 |
【密码】 (C语言代码)浏览:333 |
十->二进制转换 (C语言代码)浏览:1291 |
这可能是一个假的冒泡法浏览:985 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:701 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:956 |
WU-字符串比较 (C++代码)浏览:754 |
WU-判定字符位置 (C++代码)浏览:1395 |
用筛法求之N内的素数。 (C语言代码)浏览:664 |