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;
}
本博客所有文章除特别声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明来源 Q779’s Blog!



