Hành Trình Dài Nhất Nhỏ Nhất
Nộp bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
2.0s
Giới hạn bộ nhớ:
256M
Đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C++, Go, Java, Kotlin, Pascal, Python, Scratch
Bessie đi du lịch qua xứ sở bò Cowland có thị trấn () được nối bằng con đường một chiều (). Mỗi con đường có một nhãn (label) là số nguyên dương.
Một hành trình là dãy các thị trấn liên tiếp nối bằng đường. Độ dài hành trình là số con đường đi qua. Giá trị hành trình là tổng các nhãn trên đường đi. Đảm bảo không tồn tại hành trình vô hạn (đồ thị là DAG).
Với mỗi thị trấn xuất phát, Bessie muốn tìm hành trình dài nhất (nhiều cạnh nhất). Nếu có nhiều hành trình cùng độ dài, cô chọn hành trình có dãy nhãn nhỏ nhất theo thứ tự từ điển.
Dữ liệu vào
- Dòng : Hai số nguyên và .
- dòng tiếp theo: Mỗi dòng gồm ba số nguyên , , — đường một chiều từ đến với nhãn ().
Dữ liệu ra
In ra dòng, dòng thứ gồm hai số nguyên: độ dài và giá trị của hành trình ưu tiên xuất phát từ thị trấn .
Ràng buộc
- Không có hai đường cùng cặp thị trấn.
- Các test -: và tất cả nhãn bằng nhau.
- Các test -: và tất cả nhãn phân biệt.
- Các test -: .
- Các test -: Không có ràng buộc thêm.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 5 4 3 10 4 2 10 3 1 10 2 1 10 4 1 10 |
0 0 1 10 1 10 2 20 |
Thị trấn 1: không có đường ra, hành trình rỗng. Thị trấn 4: hai hành trình dài nhất 4→3→1 và 4→2→1 đều có độ dài 2 và cùng dãy nhãn [10, 10], nên giá trị = 20. |
Bình luận