Tàu đồ chơi
Đề bài
Mô tả
Có một đoàn tàu đồ chơi chạy trên mạng lưới đường ray gồm nhà ga, đánh số từ đến . Tại mỗi thời điểm đoàn tàu đứng ở đúng một nhà ga và di chuyển vòng tròn: sau ga (với ) đoàn tàu tới ga , còn sau ga thì quay lại ga . Mỗi lần di chuyển sang ga kế tiếp mất đúng giây.
Có viên kẹo cần được giao. Viên kẹo thứ hiện đang ở ga và cần được đưa tới ga đích (với ).
Đoàn tàu có sức chứa vô hạn và tại một ga có thể dỡ xuống bao nhiêu viên kẹo tuỳ ý. Tuy nhiên, mỗi lần đoàn tàu rời khỏi một ga, nó chỉ có thể mang theo tối đa một viên kẹo được chất lên tại ga đó (bạn được tự chọn viên kẹo nào trong số các viên đang ở ga đó). Thời gian chất và dỡ kẹo được bỏ qua.
Với mỗi nhà ga, hãy tính thời gian nhỏ nhất mà đoàn tàu cần để giao hết tất cả các viên kẹo, nếu nó bắt đầu xuất phát từ ga đó.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và : số nhà ga và số viên kẹo.
- Trong dòng tiếp theo, dòng thứ chứa hai số nguyên và : ga xuất phát và ga đích của viên kẹo thứ .
Dữ liệu ra
In ra một dòng gồm số nguyên cách nhau bởi dấu cách. Số thứ là thời gian nhỏ nhất (tính bằng giây) mà đoàn tàu cần để giao hết mọi viên kẹo nếu xuất phát từ ga .
Ràng buộc
- và
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 7 2 4 5 1 2 3 3 4 4 1 5 3 3 5 |
10 9 10 10 9 | Với mỗi ga xuất phát ta tính thời gian tối ưu để giao hết viên kẹo. Ví dụ xuất phát từ ga cần giây. |
| 2 3 1 2 1 2 1 2 |
5 6 | Cả viên kẹo đều ở ga và cần đưa sang ga . Xuất phát từ ga : chất viên thứ nhất, đi sang ga (1 giây) và dỡ, quay về ga (1 giây), lặp lại cho viên thứ hai và thứ ba. Viên cuối không cần quay về, tổng cộng giây. Xuất phát từ ga phải mất thêm giây đi về ga trước, nên là giây. |
Bình luận