Айдар, Бегимай и Виктор для решения сложной задачи написали своё первое дерево отрезков.
Но возникла проблема — их дерево выдавало неверные ответы даже на тестовых примерах из условия задачи.
В первую очередь, ребята предположили, что они неверно сопоставили полуинтервалы массива узлам. Виктор сказал, что надо вывести по порядку все узлы и их полуинтервалы.
Бегимай на это заметила, что простой построчный вывод не сильно ускорит процесс — надо визуализировать всё дерево целиком!
Внимание: Данная задача использует определённые правила построения дерева отрезков — ознакомьтесь с ними в примечании к задаче.
В первой строке дано целое число $$$n$$$ $$$(1 \le n \le 10^4)$$$ — размер массива.
Дерево необходимо визуализировать по слоям, каждому слою соответствует одна строка.
Ознакомьтесь с тестовыми примерами для уточнения подробностей.
1
[0;1)
2
[0;2)
[0;1) | [1;2)
3
[0;3)
[0;1) | [1;3)
| [1;2) | [2;3)
7
[0;7)
[0;3) | [3;7)
[0;1) | [1;3) | [3;5) | [5;7)
| [1;2) | [2;3) | [3;4) | [4;5) | [5;6) | [6;7)
9
[0;9)
[0;4) | [4;9)
[0;2) | [2;4) | [4;6) | [6;9)
[0;1) | [1;2) | [2;3) | [3;4) | [4;5) | [5;6) | [6;7) | [7;9)
| | | | | | | [7;8) | [8;9)
Определение
Дерево отрезков, построенное для массива длины $$$n$$$, представляет из себя бинарное дерево, в котором каждый узел сопоставлен какому-либо полуинтервалу данного массива: