acgo题库
  • 首页
  • 题库
  • 题单
  • 竞赛
  • 讨论
  • 排行
  • 团队
  • 备赛专区

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
登录
注册
题目详情题解(0)讨论(0)提交记录(0)
  • 正经题解

    算法:优先队列

    userId_undefined

    复仇者_零

    永恒钻石快乐小狗出题人
    6阅读
    1回复
    1点赞
  • 题解

    userId_undefined

    zsy

    7月全勤卷王题解仙人出道萌新时间刺客时空双修者秩序白银
    8阅读
    0回复
    1点赞
  • 简单有批注

    #include <bits/stdc++.h> using namespace std; int n; int a[10010]; priority_queue<int, vector<int>, greater<int>>q; //堆顶元素 q.top(); int main(){ cin >> n; for(int i = 1; i <= n; i ++ ){ cin >> a[i]; q.push(a[i]); } int ans = 0; while(q.size() > 1){ int x = q.top(); q.pop(); int y = q.top(); q.pop(); ans += x + y; q.push(x + y); } cout << ans << endl; return 0; }

    userId_undefined

    我是你爹

    13阅读
    0回复
    0点赞
  • 1

    #include<iostream> #include<queue> using namespace std; int n,x,s; priority_queue<int , vector<int> , greater<int> > q1; priority_queue<int , vector<int> , less<int> > q2; int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>x; q1.push(x); } while(q1.size()!=1){ int l=q1.top(); q1.pop(); int r=q1.top(); q1.pop(); s+=l+r; q1.push(l+r); } cout<<s; return 0; }

    userId_undefined

    复仇者-天之神皮皮虾(回关)

    时间刺客空间掌握者
    0阅读
    0回复
    0点赞
首页