Educational Codeforces Round 10——B. z-sort
2016-04-05 16:48
330 查看
B. z-sort
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
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?
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
output
input
output
题意:给定一个数组是否能组成一个波动序列(这名称很贴切呃)。然后突然想到了双端队列,然后又想到了据说在两端操作时间很快的list类
代码:
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
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?
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
4 1 2 2 1
output
1 2 1 2
input
5 1 3 2 2 5
output
1 5 2 3 2
题意:给定一个数组是否能组成一个波动序列(这名称很贴切呃)。然后突然想到了双端队列,然后又想到了据说在两端操作时间很快的list类
代码:
#include<iostream> #include<algorithm> #include<cstdlib> #include<sstream> #include<cstring> #include<cstdio> #include<string> #include<deque> #include<cmath> #include<queue> #include<set> #include<map> #include<list> using namespace std; int pos[1009]; int main(void) { list<int>lst; int n,temp,i; while (cin>>n) { lst.clear(); memset(pos,0,sizeof(pos)); int cnt=0; for (i=0; i<n; i++) { cin>>temp; lst.push_back(temp); } lst.sort();//list的sort是自带的方法.不能用普通sort bool ok=1; while (!lst.empty())//从一个排好序的序列里头与尾交替地取出一个数就可以组成波动序列 { if(lst.front()<=lst.back()) { pos[cnt++]=lst.front(); lst.pop_front(); if(lst.empty())//每次pop都特判一下 break; pos[cnt++]=lst.back(); lst.pop_back(); if(lst.empty())//每次pop都特判一下 break; } else { ok=0; break; } } if(!ok) cout<<"Impossible"<<endl; else { for (i=0; i<cnt; i++) { printf("%d%s",pos[i],i==cnt-1?"\n":" "); } cout<<endl; } } return 0; }
相关文章推荐
- Android Studio 快捷键
- Android 防止控件被重复点击,多次提交
- 分页显示数据
- [Hnoi2006]马步距离 (贪心+A*)
- 完整版的strcpy函数
- 火狐 firefox proxy moz=proxy:// 407错误 解决办法
- IDEA 导入 eclipse 的项目出现\65279错误的解决
- php and js to facebook登陆 最佳实践
- 面向对象七大设计原则
- 欢迎使用CSDN-markdown编辑器
- [置顶] java IO 问题分析
- 现代控制理论思考题----倒立摆小车控制算法研究
- QLineEdit的IP格式输入
- H264码率设置 在手机中的设置.
- 现代控制理论思考题----倒立摆小车控制算法研究
- 现代控制理论思考题----倒立摆小车控制算法研究
- Escape BNUOJ 49278
- Java爬虫,信息抓取的实现
- 归并排序
- dedecms 标签