Bố trí Phòng Khách sạn
Đề bài
Mô tả
Một khách sạn cần bố trí phòng cho khách. Hai khách có thể ở chung một phòng nếu ngày rời đi của khách thứ nhất thực sự sớm hơn ngày đến của khách thứ hai. Hãy tìm số phòng tối thiểu cần dùng và gán mỗi khách vào một phòng.
Dữ liệu vào
- Dòng đầu: số nguyên — số lượng khách.
- dòng tiếp theo, dòng thứ : hai số nguyên và — ngày đến và ngày rời đi của khách ().
Dữ liệu ra
- Dòng 1: số nguyên là số phòng tối thiểu cần dùng.
- Dòng 2: số nguyên trong đoạn , số thứ là phòng được gán cho khách .
Nếu có nhiều cách bố trí dùng đúng phòng, in ra một cách bất kỳ.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 1 2 2 4 4 4 |
2 1 2 1 |
Khách 1 rời ngày 2, khách 3 đến ngày 4. Vì , họ ở chung phòng 1. Khách 2 ở ngày 2 đến ngày 4 nên chồng lấn cả hai khách kia và cần một phòng riêng. |
| 4 1 3 2 5 4 6 3 4 |
3 1 2 1 3 |
Ngày 3 có ba khách 1, 2, 4 cùng ở nên cần ít nhất 3 phòng. Khách 1 rời ngày 3 còn khách 4 đến ngày 3, vì không nhỏ hơn nên hai người không thể ở chung. Khách 3 đến ngày 4 nên nhận lại phòng 1 của khách 1. |
Bình luận