#BST0000015. Chiều cao và BST suy biến (BST Height and Degeneration)
Chiều cao và BST suy biến (BST Height and Degeneration)
Chiều cao và BST suy biến (BST Height and Degeneration)
Nguồn: Phước Hưng OJ
Phiên bản: Phước Hưng OJ Extended
Đề bài
Dựng BST từ dãy theo đúng thứ tự chèn; khóa trùng bị bỏ qua.
Độ sâu của gốc được quy ước bằng . Độ sâu của một nút khác bằng số cạnh trên đường đi duy nhất từ gốc đến nút đó. Chiều cao của một cây không rỗng là độ sâu lớn nhất trong tất cả các nút của cây, hay tương đương là số cạnh trên đường dài nhất từ gốc đến một nút lá.
Theo quy ước của bài, cây rỗng có chiều cao .
Hãy tính chiều cao của BST sau khi chèn toàn bộ dãy.
Input
Dòng đầu chứa số nguyên .
Nếu , dòng tiếp theo chứa số nguyên theo thứ tự chèn. Nếu , dòng này không xuất hiện.
Output
In một số nguyên duy nhất là chiều cao của cây.
Subtask
Subtask 1 (20 điểm): .
Subtask 2 (30 điểm): .
Subtask 3 (50 điểm): .
Trong tất cả các subtask, . Khóa trùng bị bỏ qua khi dựng cây.
Ví dụ
Input
5
1 2 3 4 5
Output
4
Giải thích
Các khóa được chèn theo thứ tự tăng dần nên mỗi nút mới nằm ở phía phải của nút trước đó. Cây thu được là một đường gồm nút.
Đường từ gốc đến lá đi qua cạnh, vì vậy chiều cao của cây là .