Problem of the day

Given a binary tree with N number of nodes, check if that input tree is BST (Binary Search Tree). If yes, return true, return false otherwise.
Note:Duplicate elements should be kept in the right subtree.
The first line of input contains data of the nodes of the tree in level order form. The data of the nodes of the tree is separated by space. If any node does not have a left or right child, take -1 in its place. Since -1 is used as an indication whether the left or right nodes exist, therefore, it will not be a part of the data of any node.
Output format :
The first and only line of output contains either true or false.
0 <= Number of edges <= 10^5
Time Limit: 1 second
3 1 5 -1 2 -1 -1 -1 -1

true
5 2 10 0 1 -1 15 -1 -1 -1 -1 -1 -1

false