#BST0000013. Liệt kê khóa trong đoạn (Report BST Keys in a Range)
Liệt kê khóa trong đoạn (Report BST Keys in a Range)
Liệt kê khóa trong đoạn (Report BST Keys in a Range)
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.
Cho hai số nguyên và . Nếu , hãy lấy tất cả các khóa đang có trong cây thỏa và in chúng theo thứ tự tăng dần.
Nếu , đoạn cần xét được xem là rỗng nên không có khóa nào được chọn.
Input
Dòng đầu chứa số nguyên .
Nếu , dòng tiếp theo chứa số nguyên . Nếu , dòng này không xuất hiện.
Dòng cuối chứa hai số nguyên và .
Output
Nếu có ít nhất một khóa thuộc đoạn đóng , in các khóa đó theo thứ tự tăng dần trên một dòng, cách nhau bởi một dấu cách.
Nếu không có khóa phù hợp hoặc , in EMPTY.
Subtask
Subtask 1 (20 điểm): .
Subtask 2 (30 điểm): .
Subtask 3 (50 điểm): .
Trong tất cả các subtask, 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
4 10
Output
4 6 8 10
Giải thích
Sau khi dựng cây, các khóa nằm trong đoạn đóng là . Khi sắp theo thứ tự tăng dần, chúng xuất hiện đúng theo thứ tự 4 6 8 10.