[CodeForces
来源:互联网 发布:linux mint 中文 编辑:程序博客网 时间:2024/05/17 06:03
Link:http://codeforces.com/problemset/problem/652/B
B. z-sort
time limit per test
1 secondmemory limit per test
256 megabytesinput
standard inputoutput
standard outputA 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?
Input
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.
Output
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".
Examples
input
41 2 2 1
output
1 2 1 2
input
51 3 2 2 5
output
1 5 2 3 2
Code:
#include<cstdio>#include<cstdlib>#include<cmath>#include<cstring>#include<algorithm>#include<iostream>#include<queue>#include<stack>using namespace std;int a[1005],b[1005];int main(){int n;while(~scanf("%d",&n)){for(int i=1;i<=n;i++)scanf("%d",&a[i]);int k=1;sort(a+1,a+1+n);for(int i=1;i<=n;i+=2)b[i]=a[k++]; //所有奇数位上的数都小于上一个数for(int i=2;i<=n;i+=2)b[i]=a[k++]; //所有偶数位上的数都大于上一个数for(int i=1;i<=n;i++)printf("%d%c",b[i],i==n? '\n':' ');}return 0;}
阅读全文
0 0
- codeforces~~~
- Codeforces
- codeforces
- Codeforces
- codeforces
- codeforces
- Codeforces
- Codeforces
- CodeForces
- CodeForces
- CodeForces
- CodeForces
- CodeForces
- Codeforces
- Codeforces
- Codeforces
- Codeforces
- Codeforces
- 左值引用和右值引用
- 给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开。 现在请计算A+B的结果,并以正常形式输出。
- Google 投资 Lyft 背后、AlphaGo Zero 人工智能威胁论?
- 16进制转换方法 Java
- 移动构造函数和移动赋值运算符
- [CodeForces
- C语言提高-第26/27讲: 实现线性表基本操作的函数/编写查找和排序函数
- 拷贝版本(成员)函数与移动版本(成员)函数
- 数据结构与算法分析—栈的数组实现(C语言)
- 小朋友学C语言(11):求1到100的和
- TensorFlow练习5: 训练一个简单的游戏AI(Deep Q Network)
- 经典递归解决汉诺塔!
- php 正则表达式总结及应用
- c++/c的内存管理机制