Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
CAR - Lập lịch sửa chữa ô tô |
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].
Ô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 1Xong 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 .
Được gửi lên bởi: | Nguyen Minh Hieu |
Ngày: | 2007-02-18 |
Thời gian chạy: | 1s |
Giới hạn mã nguồn: | 20000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | Tất cả ngoại trừ: ERL GOSU JS-RHINO NODEJS PERL6 PYPY RUST SED VB.NET |
Nguồn bài: | Mr Le Minh Hoang |
hide comments
|
|||||||
2011-08-13 09:02:48 Code Breaker
ko dow dc hjx |
|||||||
2011-07-01 14:30:30 Nặc Danh
nếu A[i]=A[j] và B[i]=B[j] thì sửa cái nào trước đây ? nếu sửa hai chiếc,chiếc nào trước cũng có tổng tiền phạt như nhau thi sửa chiếc nào trước,ra đề chặt chẽ cho người khác nhờ |
|||||||
2010-07-25 17:42:18 Nguyễn Kim Vỹ
Debug chương trình không chỉ có step run. Bạn có thể đặt điểm dừng (breakpoint) hoặc chọn chạy tới dòng nào đó (run to cursor). khi đến lời gọi chương trình con thì có thể cho stepover đi 1 lệnh đi qua luôn ... |
|||||||
2009-07-22 05:01:32 TNO
em dow solution bài này về, chạy bằng Run(Ctrl+F9) hoặc F8 thì rất nhanh nhưng chạy bằng ấn F7 thì đến 1 dòng for nó chạy mãi ko xong (chỉ for từ 1 đến 10000), các anh giúp em với :( Last edit: 2009-07-22 07:20:20 |