首页 > 其他 > 详细

Codeforces - 1088B - Ehab and subtraction - 堆

时间:2019-07-17 14:47:29      阅读:95      评论:0      收藏:0      [点我收藏+]

https://codeforc.es/contest/1088/problem/B

模拟即可。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

priority_queue<int, vector<int>, greater<int> >pq;
int sumsub = 0;

int main() {
#ifdef Yinku
    freopen("Yinku.in", "r", stdin);
    //freopen("Yinku.out", "w", stdout);
#endif // Yinku
    int n, k;
    while(~scanf("%d%d", &n, &k)) {
        while(!pq.empty())
            pq.pop();
        for(int i = 1; i <= n; i++) {
            int tmp;
            scanf("%d", &tmp);
            pq.push(tmp);
        }
        sumsub = 0;
        for(int i = 1; i <= k; i++) {
            int tmp = 0;
            while(!tmp) {
                if(pq.empty())
                    break;
                tmp = pq.top() - sumsub;
                pq.pop();
            }
            printf("%d\n", tmp);
            sumsub += tmp;
        }
    }
}

Codeforces - 1088B - Ehab and subtraction - 堆

原文:https://www.cnblogs.com/Yinku/p/11200390.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!