test 1
描述
超能侠在探险的旅途中,曾来到过一个古老的神秘森林。这个森林中的树与别处的不同,要么为二叉搜索树,要么为二叉搜索树的镜像。
从这个古老森林归来之后,超能侠始终对森林中这些特别的树木记忆犹新。现在他想要考考你,给定一个整数键值序列,判定这个序列是否是古老森林中的树进行前序遍历的结果。
提示:
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以内的正整数。