解题思路:
注意事项:
参考代码:
#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 人评分
A+B for Input-Output Practice (V) (C语言代码)浏览:450 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:558 |
小明A+B (C语言代码)浏览:1256 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:1229 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:542 |
文科生的悲哀 (C语言代码)浏览:1401 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:476 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:1072 |
循环入门练习5 (C语言代码)浏览:839 |
简单的a+b (C语言代码)浏览:581 |