#3050. 笛卡尔树

笛卡尔树

题目描述

笛卡尔树是由一系列不同数字构成的二叉树。

树满足堆的性质,中序遍历返回原始序列。

最小笛卡尔树表示满足小根堆性质的笛卡尔树。

例如,给定序列8,15,3,4,1,5,12,10,18,6{8,15,3,4,1,5,12,10,18,6},则生成的最小堆笛卡尔树如图所示。

现在,给定一个长度为N 的原始序列,请你生成最小堆笛卡尔树,并输出其层序遍历序列。

输入格式

第一行包含整数NN

第二行包含NN个两两不同的整数,表示原始序列。

输出格式

共一行,输出最小堆笛卡尔树的层序遍历序列。

10
8 15 3 4 15 12 10 18 6
1 3 58 4 6 15 10 12 18

提示

数据范围 1N301≤N≤30.

原始序列中元素的取值范围[2147483648,2147483647][-2147483648,2147483647]