CF847B Preparing for Merge Sort
题目描述
`Ivan`有一个包含$n$个不同整数的数组。他计划将这个数组变成升序的。`Ivan`喜欢归并排序,所以他想将这个数组变成一个或多个升序数组,之后将它们合并。
他用如下的方式将原数组变成一个或多个升序数组:
`Ivan`将对数组进行若干次迭代,直到数组中所有元素都被放入新数组。
对于每次迭代,`Ivan`将依次从左到右遍历每个还未放入新数组中的元素。如果某个元素是该次迭代中的第一个元素,那么它将会放入属于本次迭代的新数组中。如果某个元素不是该次迭代中的第一个元素,那么当且仅当它比属于本次迭代的新数组中最后一个数大时,它将被放入属于本次迭代的新数组的末尾。
更具体的,对于一串数$[1,3,2,5,4]$,第一次迭代将取出$[1,3,5]$这$3$个元素,第二次迭代将取出$[2,4]$这$2$个元素,因为它们是严格递增的。
输入格式
The first line contains a single integer $ n $ ( $ 1
输出格式
Print representation of the given array in the form of one or more increasing sequences in accordance with the algorithm described above. Each sequence must be printed on a new line.