解题思路:
注意事项:
参考代码:
#include<queue> #include<cstdio> #include<iostream> using namespace std; int main() { long long int sum; int i,n,t,a,b; scanf("%d",&n); priority_queue<int,vector<int>,greater<int> >q; for(i=0;i<n;i++) { scanf("%d",&t); q.push(t); } sum=0; if(q.size()==1) { a=q.top(); sum+=a; q.pop(); } while(q.size()>1) { a=q.top(); q.pop(); b=q.top(); q.pop(); t=a+b; sum+=t; q.push(t); } printf("%lld",sum); }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题9.4 (Java代码)浏览:1417 |
C语言程序设计教程(第三版)课后习题10.1 (Java代码)浏览:1443 |
C语言程序设计教程(第三版)课后习题1.5 (C++代码)浏览:757 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:899 |
输出正反三角形 (C语言代码)格式错误!!!浏览:1140 |
WU-陶陶摘苹果2 (C++代码)浏览:973 |
蛇行矩阵 (C语言代码)浏览:527 |
C语言训练-亲密数 (C语言代码)浏览:682 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:587 |
幸运数 (C++代码)浏览:1263 |