CodeForces 652B z-sort
2016-03-26 10:27
309 查看
先对序列排个序。
例如:1 2 3 4 5 6 7
我们把序列分成两半,前一半是1 2 3 4,后一半是5 6 7
然后,我们从前一半取最小的一个,再从后一半取最小的一个。。一直操作下去就能构造出答案了。
由此也可以看到,不可能出现Impossible的情况。
例如:1 2 3 4 5 6 7
我们把序列分成两半,前一半是1 2 3 4,后一半是5 6 7
然后,我们从前一半取最小的一个,再从后一半取最小的一个。。一直操作下去就能构造出答案了。
由此也可以看到,不可能出现Impossible的情况。
#include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using namespace std; const int maxn=1000+10; int n; int a[maxn]; bool flag[maxn]; int ans[maxn]; int main() { scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&a[i]); sort(a+1,a+1+n); int st1=1,st2=(n+1)/2+1; int tot=0; while(1) { ++tot; if(tot%2==1) ans[tot]=a[st1++]; else ans[tot]=a[st2++]; if(tot==n) break; } for(int i=1;i<=n;i++) printf("%d ",ans[i]); printf("\n"); return 0; }
相关文章推荐
- 周总结3.26
- 每天一个Linux命令
- swiper去除滑动设置
- Java中常见数据结构:list与map
- MRC&ARC
- ctrl键使提示信息变透明
- Git和GitHub简介
- 生成boot.img的脚本
- [LeetCode]Palindrome Linked List
- Stanford机器学习---第五讲. 神经网络的学习 Neural Networks learning
- 改变Activity启动时的默认动画
- 学习进度条——第四周
- ZooKeeper Java API简单示例
- 第五周项目2-游戏中的角色类(2)
- hdoj-2141-Can you find it?
- 第五周项目1:三角形类雏形(1)
- 大数乘法
- Android定时器
- 【AngularJS】——核心特性之指令
- HDU 3436 Queue-jumpers