Sat Dec 22, 2012 10:35 pm
Admin 1309. Lập lịch sửa chữa ô tô
Mã bài: CAR
Một cơ sở sửa chữa ô tô có nhận n chiếc xe để sửa. Do các nhân viên làm việc quá lười nhác nên đã đến hạn trả cho khách hàng mà vẫn chưa tiến hành sửa được chiếc xe nào. Theo hợp đồng đã ký kết từ trước, nếu bàn giao xe thứ i quá hạn ngày nào thì sẽ phải trả thêm một khoản tiền phạt là A[i].Mã bài: CAR
Ông chủ cơ sở sửa chữa quyết định sa thải toàn bộ công nhân và thuê nhân công mới. Với lực lượng mới này, ông ta dự định rằng để sửa chiếc xe thứ i sẽ cần B[i] ngày. Vấn đề đặt ra đối với ông là phải lập lịch sửa tuần tự các chiếc xe sao cho tổng số tiền bị phạt là ít nhất.
Yêu cầu: Hãy lập lịch sửa xe giúp cho ông chủ cơ sở sửa chữa ô tô.
Download test và solution tại đây.
Input
• Dòng 1: Chứa số n (n ≤ 10000)
• Dòng 2: Chứa n số nguyên dương A[1], A[2], ..., A[n] (1 ≤ A[i] ≤ 10000)
• Dòng 3: Chứa n số nguyên dương B[1], B[2], ..., B[n] (1 ≤ B[i] ≤ 100)
Output
• Dòng 1: Ghi số tiền bị phạt tối thiểu
• Dòng 2: Ghi số hiệu các xe sẽ tiến hành sửa chữa, theo thứ tự từ xe được sửa đầu tiên đến xe sửa sau cùng
Example
Input:
4
1 3 4 2
3 2 3 1
Output:
44
4 2 3 1
Xong công việc 4 vào cuối ngày 1 => phải trả 2 * 1 = 2 .
Xong công việc 2 vào cuối ngày 3 => phải trả 3 * 3 = 9.
Xong công việc 3 vào cuối ngày 6 => phải trả 6 * 4 = 24 .
Xong công việc 1 vào cuối ngày 9 => phải trả 1 * 9 = 9 .
Vậy tổng cộng phải trả 44 .