#判断当前序列是否是二叉搜索树后序遍历 #二叉搜索树的特点是左子树小于根,右子树大于根 #而后序遍历是左右根的顺序 #所以序列应该是从小到大的顺序 def isBST(nums, low, high) -> bool: #叶节点 if low >= high: return True #根节点 last = nums[high] i = 0 #找到右子树入口 for i in range(low, high): if nums[i] > last: break #在右子树中判断 #右子树中的节点值应该是大于根节点值的 for j in range(i + 1, high): #违反了规定 #一定不是 if nums[j] < last: return False #分别在两棵子树中递归进行判断 return isBST(nums, low, i - 1) and isBST(nums, i, high - 1) n = eval(input()) nums = list(map(int, input().split())) rlt = isBST(nums, 0, len(nums) - 1) if rlt: print('true') else: print('false')