Giám đốc điều hành của một Công ty tin học cần xác định số lượng nhân công cần sử dụng trong
mỗi tháng để thực hiện một dự án phát triển tin học. Ông giám đốc nắm được số lượng nhân công tối thiểu cần cho mỗi tháng. Mỗi lần thuê hoặc sa thải một nhân công luôn mất thêm một khoản chi phí. Mỗi khi một thợ nào đó được thuê, anh ta luôn nhận được tiền lương ngay cả khi không làm
việc. Giám đốc nắm được chi phí để th một nhân cơng mới, chi phí sa thải một nhân công, lương tháng của một nhân công. Vấn đề đặt ra cho giám đốc là phải xác định số lượng nhân công cần thuê hay sa thải trong mỗi tháng để cho chi phí thực hiện dự án là tối thiểu.
Dữ liệu: Vào từ file văn bản PROJECT.INP.
• Dịng đầu tiên ghi thời gian thực hiện dự án n (đơn vị tính: tháng, n ≤ 12)
• Dịng thứ hai chứa ba số ngun dương theo thứ tự là chi phí th một nhân cơng mới, lương tháng của một nhân cơng, chi phí sa thải một nhân cơng.
• Dịng cuối cùng ghi n số nguyên dương d1, d2, ..., dn, trong đó di là số lượng nhân công cần sử dụng trong tháng i.
Kết quả: Ghi ra file văn bản PROJECT.OUT
• Dịng đầu tiên ghi chi phí tối thiểu tìm được
• Mỗi dịng thứ i trong số n dịng tiếp theo ghi số si. Được hiểu là: ♦ Nếu si > 0 thì nó là số lượng nhân cơng cần thuê thêm ở tháng i. ♦ Nếu si < 0 thì si là số lượng nhân cơng cần sa thải ở tháng i ♦ Nếu si = 0 thì khơng có biến động nhân sự trong tháng i của dự án
Ví dụ: PROJECT.INP PROJECT.OUT 3 4 5 6 10 9 11 199 10 0 1