解题思路:
注意事项:
参考代码:
#include<queue> #include<cstdio> #include<iostream> #include<algorithm> using namespace std; int main(void) { priority_queue<int,vector<int>,greater<int> >q; int n,data; cin >> n; for(int i=1;i<=n;i++) { cin>>data; q.push(data); } int ans = 0; while(q.size()>1) { int a = q.top(); q.pop(); int b = q.top(); q.pop(); ans += a+b; q.push(a+b); } printf("%d",ans); return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题12.3 (C语言代码)浏览:823 |
C语言程序设计教程(第三版)课后习题11.8 (C语言代码)浏览:608 |
C语言训练-计算一个整数N的阶乘 (C语言代码)浏览:932 |
数组输出 (C语言代码)错误???浏览:563 |
程序员的表白 (C语言代码)浏览:659 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:591 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:578 |
蛇行矩阵 (C语言代码)浏览:527 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:537 |
局部变量作函数返回值的问题浏览:972 |