#J0036. [csp-j 2023模拟] 构造树

[csp-j 2023模拟] 构造树

题目描述:

有一个从1到n的数列,现在对其重新排列,并将这个从新排列的数列构造成一个二叉树,构造规则如下:数列a中最大的元素成为树的根,最大值左边的元素形成左子树(根据相同的规则构建,仅对于该元素左侧部分),最大值右边的元素形成右子树(根据相同的规则构建,仅对于该元素右侧部分) 例如数列 :1 4 6 2 5 3 构成以下二叉树image

这个二叉树的每个顶点都会有一个深度(深度从1开始),现在请对于每个顶点输出该顶点的深度。

输入格式:

第一行一个数字N表示序列的长度(1<=n<=100) 第二行N个数字a1,a2,...,an

输出格式:

输出n个值对应每个顶点的深度

样例:

6
1 4 6 2 5 3
3 2 1 3 2 3
4
1 3 5 4
3 2 1 2

提示