1 条题解
-
0
Guest
-
1
思路
考查
priority_queue
(优先队列)的用法。 这道题是贪心,每次取出俩最小的,加起来为 ,答案加上 ,把 压进队列。code
#include<bits/stdc++.h> using namespace std; priority_queue <int,vector<int>,greater<int> > q;//小根堆 int main(){ int n,cost=0,min1,min2; cin>>n; while(n--){ int tem; cin>>tem; q.push(tem); } while(q.size()>1){ min1=q.top(); q.pop(); min2=q.top(); q.pop(); cost+=min1+min2; q.push(min1+min2); } cout<<cost; return 0; }
- 1
信息
- ID
- 383
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 2
- 已通过
- 2
- 上传者