Mạng xã hội
Đề bài
Mô tả
Polycarpus được giao một thử thách thực tập. Anh có log yêu cầu truy cập mạng xã hội trong một ngày, mỗi yêu cầu chỉ có thời điểm phát sinh (định danh người dùng đã bị xóa). Một sự kiện đặc biệt là tại một thời điểm trong ngày, có đúng người dùng cùng online — đây là kỷ lục.
Quy ước: nếu một người dùng gửi yêu cầu tại giây thì người đó được coi là online tại các giây . Khoảng thời gian online của một người dùng là hợp của tất cả khoảng ứng với các yêu cầu của người đó.
Hãy gán cho mỗi yêu cầu một định danh người dùng (nguyên dương) sao cho:
- Tại bất kỳ thời điểm nào, số người dùng phân biệt đang online không vượt quá .
- Tồn tại ít nhất một thời điểm có đúng người dùng phân biệt đang online (để đạt kỷ lục).
- Tổng số người dùng phân biệt (số định danh khác nhau được dùng) là lớn nhất có thể.
Nếu không thể gán theo yêu cầu, in No solution.
Dữ liệu vào
Dòng đầu chứa ba số nguyên , , .
dòng tiếp theo, mỗi dòng chứa một thời điểm theo định dạng hh:mm:ss. Các thời điểm được cho theo thứ tự không giảm; có thể trùng nhau. Đảm bảo mọi thời điểm và cả các đoạn đều nằm trong cùng một ngày (từ 00:00:00 đến 23:59:59).
Dữ liệu ra
Nếu không có cách gán hợp lệ, in No solution.
Ngược lại, dòng đầu in — số người dùng phân biệt lớn nhất có thể. dòng sau, mỗi dòng in định danh của người dùng tương ứng với yêu cầu trong dữ liệu vào (số nguyên từ đến ). Các yêu cầu của cùng một người phải có cùng định danh; các yêu cầu của những người khác nhau phải có định danh khác nhau. Nếu có nhiều đáp án, in một đáp án bất kỳ.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 2 10 17:05:53 17:05:58 17:06:01 22:39:47 |
3 1 2 2 3 |
Người 1 online , người 2 gửi cả yêu cầu thứ 2 và thứ 3 nên online , người 3 online . Tại có đúng người online. |
| 1 2 86400 00:00:00 |
No solution | Chỉ có một yêu cầu nên cao nhất chỉ có người online, không thể đạt . |
| 5 2 40000 06:30:57 07:27:25 09:10:21 11:05:03 12:42:37 |
2 1 2 2 2 2 |
Người 1 online từ trong giây. Yêu cầu thứ hai phát sinh trong khoảng đó nên thuộc người 2, đạt . Các yêu cầu sau được gán cho người 2 để không vượt quá . |
Bình luận