开始: 2023-07-24 08:30:00

test 1

结束: 2023-07-24 12:00:00
当前: 2025-0505-3131 12:12:41  类型:OI 状态:已经结束 
P3 : 古老森林  
描述

超能侠在探险的旅途中,曾来到过一个古老的神秘森林。这个森林中的树与别处的不同,要么为二叉搜索树,要么为二叉搜索树的镜像。

从这个古老森林归来之后,超能侠始终对森林中这些特别的树木记忆犹新。现在他想要考考你,给定一个整数键值序列,判定这个序列是否是古老森林中的树进行前序遍历的结果。

提示:

1.二叉搜索树具有特殊的性质:对于任意节点,其左子树中所有节点的键值小于该节点的键值,而其右子树中所有节点的键值大于等于该节点的键值。

2.树的镜像即将树中所有节点的左右子树对换位置。

输入

输入文件有两行,第一行为一个正整数N,第二行为N个数,表示给定的键值,以空格分隔。

输出

输出文件只有一行,如果输入序列是二叉搜索树或其镜像进行前序遍历的结果,则输出"YES",然后在下一行输出该树后序遍历的结果;否则,输出"NO"。

样例

输入

7
8 6 5 7 10 8 11

输出

YES
5 7 6 8 11 10 8

输入

7
8 10 11 8 6 7 5

输出

YES
11 8 10 7 5 6 8

输入

7
8 6 8 5 10 9 11

输出

NO
提示

对于100%的数据,有1≤N≤10,键值为100以内的正整数。