A27693. 生日 (bir.cpp)
填空题
中等
知识点
题目描述
生日 (bir.cpp)
题目描述
陶陶过生日,有n 个小伙伴站成环形为他庆祝,并将他们标号为 1...n,他们对应的身高为 a1...an求如何排序,能让任意相邻的两个小伙伴之间身高差的绝对值最大值最小。
输入格式
第一行仅有一个整数 n ,表示参加生日聚会的小伙伴人数。
第二行有n 个整数 a1,a2,...,an , ai表示第位小伙伴的身高。
输出格式
输出 n 个整数,表示排序后的小伙伴的身高。如果有多种方案,输出一种即可.

参考答案
#include<bits/stdc++.h>
using namespace std;
int a[50000010];
int main()
{
int n;cin >> n;
for(int i = 0;i < n;i++) cin >> a[i];
sort(a, a + n);
for(int i = 0;i < n;i++) // 从小到大输出奇数位上的数
{
if(i % 2)cout << a[i] << " ";
}
for(int i = n - 1;i >= 0;i--) // 从大到小输出偶数位上的数
{
if(i % 2 == 0)cout << a[i] << " ";
}
return 0;
}
上一题
下一题