A1630.狗星冒泡排序

入门

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

冒泡排序,相信大家都熟悉,通过不断交换相邻的两个数,让整个序列变得有序。

狗星也有排序的算法, 但是他们的关注点和我们不一样,他们更关注排序的数是负数还是非负数,而且他们是按照每三个数来比较大小。需要注意的是,狗星的冒泡排序算法每次只比较三个数。

举例来说,如果有三个数 Ai,Ai+1,Ai+2A_i,A_{i+1},A_{i+2}

若这三个数之中负数数量最多,则它们的排序为 Ai+1,Ai+2,AiA_{i+1},A_{i+2},A_i

如果这三个数中非负数数量最多,则它们的排序为 Ai+2,Ai+1,AiA_{i+2},A_{i+1},A_i

现在有 NN 个数,请你按照狗星冒泡排序的逻辑进行一趟冒泡排序,即从左往右依次每三个数比较,输出排序后的结果。

输入格式

输入的第一行为一个整数 NN,代表这个序列的长度。

接下来一行共 NN 个数,AiA_i代表序列中第ii个数。

输出格式

输出为一行,共 NN 个数,代表进行一趟狗星冒泡排序后的结果。

输入输出样例

  • 输入#1

    3
    -1 -2 -3

    输出#1

    -2 -3 -1
  • 输入#2

    3
    0 1 2 

    输出#2

    2 1 0
  • 输入#3

    5
    -2 3 -2 0 1

    输出#3

    3 -2 1 -2 0

说明/提示

【数据规模】

对于百分百的数据

1<=N<=1000001<=N<=100000

1012<=Ai<=1012-10^{12} <= A_i <= 10^ {12}

首页