Problem D: 验证二叉搜索树

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:85 Solved:34

Description

二叉搜索树(Binary Search Tree)定义如下:

(1) 节点的左子树只包含小于当前节点的数。

(2) 节点的右子树只包含大于当前节点的数。

(3) 所有左子树和右子树自身必须也是二叉搜索树。



给定一前序二叉树的数据,请构造根节点为 root 的二叉树,并判断这棵树是否是二叉搜索树。如果不是,则输出从第一个不符合要求的节点开始的往上各节点的值,直到根节点。

Input

给定一棵树的前序遍历,如果子节点是空,则用0表示,并以-1结尾。

例如:
4 2 1 0 0 3 0 0 3 5 0 0 7 0 0 -1




Output

如果是二叉搜索树,则显示true,如果不是则输出false,并输出从错误的节点开始的父节点序列,直到根节点。

例如:

false

3 4

Sample Input Copy

4 2 1 0 0 3 0 0 3 5 0 0 7 0 0 -1

Sample Output Copy

false
3 4

HINT

各个节点的值大于0,树的深度小于20层。