嘘~ 正在从服务器偷取页面 . . .

CF652B z-sort 题解


CF652B z-sort 题解

题目链接:CF652B z-sort

题意:一种叫Z排序的方法,奇数位递增,偶数位递减,给定数组请用此方法排序

题意要求奇数位递增,偶数位递减

那每次只要输出最小值和最大值就可以了

这里给出了优先队列的写法

#include<bits/stdc++.h>
using namespace std;
#define R register
#define int long long
priority_queue<int> q1;//大根堆
priority_queue< int,vector<int>,greater<int> > q2;//小根堆
int n;
signed main()
{
    scanf("%lld",&n);
    for(R int i=0,t; i<n; i++)
    {
        scanf("%lld",&t);
        q1.push(t);
        q2.push(t);
    }
    for(R int i=1; i<=n/2; i++)
    {
        printf("%lld %lld ",q2.top(),q1.top());
        q1.pop();q2.pop();
    }
    if(n&1)printf("%lld",q1.top());//n为奇数
    return 0;
}

文章作者: q779
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明来源 q779 !
评论
  目录