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;
}