Дан массив А размера n, где n = 2
m для некоторого натурального m.
Вам необходимо построить дерево сортировки слиянием этого массива.
Это бинарное дерево, где листами являются элементы массива, а каждый внутренний узел содержит отсортированный массив, состоящий из тех элементов массива, чьи листья находятся в поддереве этого узла (для понимания смотрите примеры).
Узлы дерева нумеруются от нижнего слоя (слой листьев) к верхнему, внутри слоя слева направо. Нумерация начинается с единицы и является сквозной. Если лист имеет номер i, то в нем располагается значение A
i.
Ниже показан пример нумерации дерева при n = 4.
7
/ \
/ \
5 6
/ \ / \
1 2 3 4
Входные данные:
В первой строке дается число n (2 <= n <= 2
15) - размер массива А.
В следующей строки дано n целых чисел A
i (-10
9 <= A_i <= 10
9) - элементы массива.
Выходные данные:
Выведите 2*n-1 строк - в i-й строке элементы, содержащиеся в i-м узле дерева.
Пример:
Входные данные |
Выходные данные |
4
97 -322 5 10 |
97
-322
5
10
-322 97
5 10
-322 5 10 97 |
Пояснение:
[-322, 5, 10, 97]
/ \
/ \
[-322, 97] [5, 10]
/ \ / \
[97] [-322] [5] [10]
Запрещенные операторы: sort