B. z-sort
time limit per test 1 second memory limit per test 256 megabytes
A student of z-school found a kind of sorting called z-sort. The array a with n elements are z-sorted if two conditions hold:
- ai ≥ ai - 1 for all even i,
- ai ≤ ai - 1 for all odd i > 1.
For example the arrays [1,2,1,2] and [1,1,1,1] are z-sorted while the array [1,2,3,4] isn’t z-sorted.
Can you make the array z-sorted?
The first line contains a single integer n (1 ≤ n ≤ 1000) — the number of elements in the array a.
The second line contains n integers ai (1 ≤ ai ≤ 109) — the elements of the array a.
If it's possible to make the array a z-sorted print n space separated integers ai — the elements after z-sort. Otherwise print the only word "Impossible".
4 1 2 2 1
1 2 1 2
5 1 3 2 2 5
1 5 2 3 2#include<stdio.h> #include<algorithm> using namespace std; #define N 1005 int a[N]; int main() { int n; while(~scanf("%d",&n)){ for(int i = 1;i <= n;i++){ scanf("%d",&a[i]); } sort(a+1,a+n+1); int l = (n+1)/2+1,len =1 ; for(int i = 1;i <= n;i++){ if(i&1) printf("%d ",a[len++]); else printf("%d ",a[l++]); } printf("\n"); } return 0; }