Thuê phòng

Xem dạng PDF

Gửi bài giải

Điểm: 10,00 (OI)
Giới hạn thời gian: 5.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Có n người muốn thuê một phòng trong một khách sạn. Mỗi người i có một khoảng thời gian thuê [dᵢ, cᵢ] (dᵢ là thời điểm đến, cᵢ là thời điểm rời đi). Một người chỉ có thể ở trong phòng trong khoảng thời gian đã đăng ký, và khi một người rời đi, phòng sẽ được trả lại ngay lập tức.

Hãy chọn một tập hợp nhiều nhất số lượng người thuê phòng mà không có hai người nào trùng khoảng thời gian sử dụng phòng.

Yêu cầu:
Tìm số lượng tối đa người có thể thuê phòng mà không trùng lịch.
Nếu có nhiều phương án, chỉ cần đưa ra số lượng tối đa.
Dữ liệu vào (Input):
Dòng đầu tiên chứa số nguyên n (1 ≤ n ≤ 100000) - số người muốn thuê phòng.
n dòng tiếp theo, mỗi dòng chứa hai số nguyên dᵢ, cᵢ (1 ≤ dᵢ < cᵢ ≤ 10⁹) - thời điểm đến và rời đi của người thứ i.
Dữ liệu ra (Output):
Một số nguyên duy nhất - số lượng người thuê phòng nhiều nhất có thể.
Ví dụ 1
Input:

5
1 4
3 5
0 6
5 7
8 9
Output:

3
Giải thích:
Chọn nhóm thuê phòng tối ưu: (1,4), (5,7), (8,9).

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.