#A1878. 【例】归并排序

【例】归并排序

题目描述

给定你一个长度为 nn 的整数数列。

请你使用归并排序对这个数列按照从小到大进行排序。

归并操作的工作原理如下:

第一步:计算当前区间的中点,将区间分为左区间序列和右区间序列。

第二步:设定两个变量,最初位置分别为两个已经排序序列的起始位置

第三步:比较两个变量位置所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置

重复步骤3直到某一变量超出序列尾

第四步:将另一序列剩下的所有元素直接复制到合并序列尾

并将排好序的数列按顺序输出。

输入

输入共两行,第一行包含整数 nn

第二行包含 nn 个整数(所有整数均在 11091∼10^9 范围内),表示整个数列。

输出

输出共一行,包含 nn 个整数,表示排好序的数列。

5
3 1 2 4 5
1 2 3 4 5

提示

1n10000001≤n≤1000000