Phân công nhiệm vụ (đề HSG 12 Thừa Thiên Huế 2023)

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: NV.INP
Output: NV.OUT

Dạng bài
Ngôn ngữ cho phép
C++, Pascal, PyPy, Python

Mỗi công việc, nếu giao cho mỗi người khác nhau thực hiện sẽ mất một thời gian khác nhau để hoàn thành. Vì vậy, thầy Hiệu trưởng đã dựa vào năng lực, sở trường của mỗi cá nhân để phân công công việc cụ thể trước khi tất cả mọi người cùng bắt tay vào làm việc để thời điểm kết thúc công việc của tất cả mọi người là sớm nhất. (Mỗi người làm đúng một công việc, mỗi công việc do đúng một người làm, mọi người bắt đầu cùng lúc.)

Yêu cầu: Hãy cho biết thầy Hiệu trưởng đã phân công công việc phù hợp như thế nào theo yêu cầu trên để tất cả mọi công việc được hoàn thành sớm nhất.

Dữ liệu

  • Dòng thứ nhất chứa số nguyên dương ~n~ (~1 \le n \le 10^2~) vừa là số người vừa là số công việc cần phải thực hiện.
  • ~n~ dòng tiếp theo, mỗi dòng gồm ~n~ số ~t~ (~1 \le t \le 10^4~); số thứ ~j~ của dòng thứ ~i~ thể hiện thời gian người thứ ~i~ (~i = 1 \dots n~) sẽ thực hiện công việc ~j~ (~j = 1 \dots n~).

Kết quả

Ghi ra một số nguyên dương thể hiện thời gian sớm nhất mà tất cả mọi công việc đều hoàn thành.

Ví dụ

NV.INP

5
9 5 4 4 7
8 1 5 7 20
6 1 8 9 5
3 8 4 3 4
3 5 7 5 6

NV.OUT

5

Giải thích: Có thể phân công sao cho người làm lâu nhất mất 5 đơn vị thời gian (ví dụ người 1 làm việc 3, người 2 làm việc 2, người 3 làm việc 5, người 4 làm việc 4, người 5 làm việc 1: thời gian lần lượt là 4, 1, 5, 3, 3).


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.