Giấc ngủ dài nhất
Đề bài
Mô tả
Một ngày có đúng phút (từ 00:00 đến 23:59). Bạn đặt báo thức, báo thức thứ reo vào cùng một thời điểm mỗi ngày và kêu trong đúng một phút.
Một báo thức đặt tại thời điểm hh:mm bắt đầu reo ở đầu phút đó và ngừng reo ở đầu phút kế tiếp. Bạn chỉ có thể bắt đầu ngủ ngay khi không có báo thức nào đang reo, và bạn thức dậy đúng vào thời điểm một báo thức bắt đầu reo.
Hãy xác định khoảng thời gian liên tục dài nhất mà bạn có thể ngủ (không báo thức nào reo trong khoảng đó). Lưu ý là bạn có thể bắt đầu ngủ trong một ngày và thức dậy vào ngày hôm sau, vì lịch báo thức lặp lại giống nhau mỗi ngày.
Dữ liệu vào
- Dòng đầu chứa số nguyên là số báo thức.
- dòng tiếp theo, mỗi dòng chứa một mô tả báo thức dạng hh:mm, trong đó hh là giờ (từ 00 đến 23) và mm là phút (từ 00 đến 59). Tất cả thời điểm báo thức đôi một khác nhau và có thứ tự bất kỳ.
Dữ liệu ra
In ra một dòng dạng hh:mm là khoảng thời gian ngủ liên tục dài nhất, với hh là số giờ và mm là số phút (mm nằm trong khoảng từ 00 đến 59).
Ràng buộc
- Tất cả thời điểm báo thức đôi một khác nhau.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 22:00 03:21 16:03 09:59 |
06:37 | Khoảng trống dài nhất nằm giữa báo thức 03:21 và 09:59: ngủ từ 03:22 đến 09:59, được giờ phút. |
| 1 05:43 |
23:59 | Chỉ có một báo thức reo trong một phút, rồi reo lại vào ngày hôm sau. Bạn ngủ được suốt giờ phút giữa hai lần reo. |
Bình luận