Lập lịch khởi hành
Đề bài
Mô tả
Có chuyến bay phải khởi hành trong hôm nay. Ban đầu, chuyến bay thứ được lên lịch khởi hành vào phút thứ của ngày.
Do sự cố kỹ thuật, không chuyến bay nào có thể khởi hành trong phút đầu tiên của ngày. Vì vậy cần lập lịch khởi hành mới.
Toàn bộ chuyến bay giờ phải khởi hành vào các phút khác nhau nằm trong khoảng từ phút thứ đến phút thứ (bao gồm hai đầu mút). Thứ tự các chuyến bay trong lịch mới có thể khác thứ tự ban đầu, nhưng có một ràng buộc: không chuyến bay nào được khởi hành sớm hơn thời điểm nó được lên lịch ban đầu. Nghĩa là chuyến bay chỉ có thể khởi hành vào phút .
Mỗi phút bị hoãn của chuyến bay thứ tốn đơn vị chi phí. Nếu chuyến bay khởi hành vào phút thì chi phí hoãn của nó là .
Hãy tìm cách xếp lịch khởi hành sao cho tổng chi phí là nhỏ nhất.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và .
- Dòng thứ hai chứa số nguyên .
Dữ liệu ra
- Dòng đầu ghi tổng chi phí hoãn nhỏ nhất.
- Dòng thứ hai ghi số nguyên phân biệt , trong đó là phút chuyến bay thứ khởi hành. Nếu có nhiều lịch tối ưu, in ra bất kỳ lịch nào.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 2 4 2 1 10 2 |
20 3 5 7 4 6 |
Chuyến 1 tới phút 3, chuyến 2 tới phút 5, chuyến 3 tới phút 7, chuyến 4 tới phút 4, chuyến 5 tới phút 6. Chi phí . Đây là một trong nhiều lịch tối ưu; nếu chỉ dời tất cả trễ 2 phút giữ nguyên thứ tự thì chi phí là 38. |
| 1 1 1 |
1 2 |
Chỉ có một chuyến, buộc phải khởi hành vào phút 2, hoãn 1 phút, chi phí bằng 1. |
Bình luận