Có công việc và người làm . Ta biết các cặp nguời, việc mà người có thể làm đuợc việc . Mỗi người làm một công việc trong đơn vị thời gian, thời điểm bắt đầu thưc hiện công việc là . Một người có thể làm nhiều việc nhưng một việc chỉ có thể do người làm. Hãy tìm cách bố trí thực hiện tất cả các công việc sao cho số công việc của người làm nhiều việc nhất là nhỏ nhất, tức cũng chính là thời điểm hoàn thành tất cả các công việc.
Dữ liệu:
Dòng đầu chứa hai số nguyên dương và ;
dòng tiếp theo, dòng chứa danh sách các công việc mà thợ có thể thực hiện, có thêm một ký hiệu kết thúc là số .
Kết quả:
Dòng đầu ghi từ YES hay NO tuỳ theo có tồn tại cách phân công để thực hiện tất cả các công việc hay không;
Nếu dòng đầu ghi từ YES thì:
Dòng hai ghi thời gian nhanh nhất có thể để hoàn thành các công việc;
dòng tiếp theo, dòng ghi danh sách các công việc được phân cho thợ , ghi thêm một ký hiệu kết thúc là số .