Cứu hộ
Đề bài
Mô tả
Vũ trụ Z có hành tinh, các hành tinh được đánh số từ đến . Một hệ thống gồm đường dịch chuyển, đường dịch chuyển thứ () sẽ giúp di chuyển từ hành tinh đến hành tinh (chỉ theo một chiều) và mất chi phí là . Một vụ nổ trong vũ trụ đã làm ảnh hưởng lớn đến tất cả các hành tinh, trừ hành tinh số . Hành tinh số lên kế hoạch cứu hộ cho hành tinh còn lại.
Các nhà khoa học ở hành tinh số đã tìm ra cách di chuyển giúp đội cứu hộ có thể di chuyển đến một hành tinh khác với chi phí nhỏ hơn. Cụ thể, với số nguyên không âm mà các nhà khoa học thiết đặt, giả sử đội cứu hộ lần lượt di chuyển qua dãy gồm hành tinh . Như vậy, đội cứu hộ sẽ phải sử dụng đường dịch chuyển, gọi là tổng chi phí của đường dịch chuyển, gọi là tổng chi phí của đường dịch chuyển có chi phí lớn nhất trong đường dịch chuyển (nếu thì tính tổng chi phí của đường dịch chuyển), khi đó đội cứu hộ sẽ mất chi phí là .
Về phía các hành tinh, các nhà khoa học cũng đã tính toán ra số nguyên không âm dựa trên mức độ ảnh hưởng của vụ nổ để xác định được chi phí di chuyển của cư dân. Cụ thể, nếu cư dân hành tinh phải di chuyển qua dãy gồm hành tinh , gọi là tổng chi phí của đường dịch chuyển, gọi là tổng chi phí của đường dịch chuyển có chi phí nhỏ nhất trong đường dịch chuyển (nếu thì tính tổng chi phí của đường dịch chuyển), khi đó cư dân sẽ mất chi phí là .
Trong các dãy hành tinh trên, mỗi bước đi từ đến (hoặc từ đến ) phải theo một đường dịch chuyển từ đến ; một hành tinh hay một đường dịch chuyển có thể được đi qua nhiều lần, khi đó chi phí của đường dịch chuyển được tính mỗi lần sử dụng. Dãy có thể chỉ gồm một hành tinh ( hoặc , không di chuyển), khi đó chi phí bằng .
Chi phí để đội cứu hộ gặp được cư dân hành tinh là tổng chi phí di chuyển của đội cứu hộ cộng với tổng chi phí của cư dân hành tinh di chuyển để họ gặp được nhau (tại cùng một hành tinh).
Yêu cầu: Với mỗi hành tinh (), hãy tính chi phí nhỏ nhất để đội cứu hộ xuất phát từ hành tinh có thể gặp cư dân hành tinh .
Dữ liệu vào
- Dòng đầu chứa bốn số nguyên ;
- Dòng thứ () trong dòng tiếp theo chứa ba số nguyên dương , trong đó và . Dữ liệu đảm bảo từ hành tinh không có quá một đường dịch chuyển tới và không tới chính nó.
Dữ liệu ra
In ra một dòng gồm số, số thứ là chi phí nhỏ nhất để đội cứu hộ có thể gặp cư dân hành tinh , nếu đội cứu hộ không thể gặp được cư dân thì đưa ra số tương ứng.
Ràng buộc
- ; ;
- ;
- ; .
Subtasks
- Subtask 1 ( số điểm): ; ; ;
- Subtask 2 ( số điểm): ; ; ;
- Subtask 3 ( số điểm): ; ; ;
- Subtask 4 ( số điểm): ; ; .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 4 1 1 1 2 1 2 3 2 3 4 3 4 2 1 |
0 1 2 | Các đường dịch chuyển: (chi phí ), (), (), (). Hành tinh : đội cứu hộ đi , . Hành tinh : đội cứu hộ đi , chi phí . Hành tinh : đội cứu hộ đến hành tinh với chi phí , cư dân đi với chi phí , tổng . |
| 3 3 0 1 2 1 10 2 3 1 3 2 1 |
13 12 | Đội cứu hộ không đi được đâu nên phải gặp cư dân ở hành tinh . Cư dân hành tinh đi thẳng mất , nhưng đi (đi qua hành tinh hai lần) mất . Cư dân hành tinh đi mất . |
| 3 3 1 3 1 2 6 2 3 5 3 2 2 |
0 4 | Hành tinh : đội cứu hộ đi , chi phí . Hành tinh : gặp tại hành tinh tốn ; tốt hơn là gặp tại hành tinh : đội cứu hộ tốn , cư dân đi chỉ dùng đường dịch chuyển nên , chi phí . |
Bình luận