#BST0000003. Giá trị nhỏ nhất và lớn nhất (Minimum and Maximum in a BST)
Giá trị nhỏ nhất và lớn nhất (Minimum and Maximum in a BST)
Giá trị nhỏ nhất và lớn nhất (Minimum and Maximum in a BST)
Nguồn: Phước Hưng OJ
Phiên bản: Phước Hưng OJ Extended
Đề bài
Ban đầu BST rỗng. Chèn lần lượt các khóa theo quy tắc của cây tìm kiếm nhị phân: khóa nhỏ hơn đi sang trái, khóa lớn hơn đi sang phải; khi gặp vị trí rỗng thì tạo nút mới. Nếu một khóa đã tồn tại, lần chèn lặp lại bị bỏ qua.
Sau khi dựng cây, hãy xác định khóa nhỏ nhất và khóa lớn nhất đang có trong BST.
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 , không có dòng chứa dãy khóa.
Output
Nếu cây rỗng, in:
EMPTY
Ngược lại, in hai số trên một dòng: khóa nhỏ nhất trước, khóa lớn nhất sau.
Subtask
Subtask 1 (20 điểm): .
Subtask 2 (30 điểm): .
Subtask 3 (50 điểm): .
Trong tất cả các subtask, mỗi là số nguyên có dấu 64-bit: . Khóa trùng bị bỏ qua khi dựng cây.
Ví dụ
Input
7
8 3 10 1 6 14 4
Output
1 14
Giải thích
Sau khi chèn toàn bộ dãy, các khóa hiện có là . Giá trị nhỏ nhất là và giá trị lớn nhất là , nên chương trình in 1 14.