trang chủ / đề bài / dhbb12_festival

Thăm bạn

Đề bài

Mô tả

Thành Nam đang có lễ rước đức Thánh Trần nhân dịp kỷ niệm ngày giỗ của ngài. Để đảm bảo an toàn giao thông, trên các tuyến phố mà đoàn rước đi qua, kể từ khi đoàn rước bắt đầu vào đầu phố cho đến khi đoàn rước đi qua hết phố, các phương tiện giao thông không được phép đi vào phố này (kể từ cả hai đầu phố). Tuy nhiên nếu có phương tiện nào đó đã ở trên phố trước khi đoàn rước đi vào phố thì nó vẫn di chuyển bình thường (kể từ cả hai đầu phố). Cũng trong khoảng thời gian đoàn rước đi trên các phố, Hùng muốn thăm một người bạn ở trong thành phố.

Thành Nam có thể được mô tả như là hệ thống giao thông gồm các tuyến phố với các điểm giao cắt là đầu mút của mỗi tuyến phố, giữa hai nút giao cắt có không quá một tuyến phố. Với mỗi tuyến phố, thời gian mà Hùng đi hết nó bằng với thời gian mà đoàn rước đi hết tuyến phố này.

Ví dụ: Nếu đoàn rước vào một tuyến phố nào đó ở thời điểm 10 và cần 5 đơn vị thời gian để đi hết tuyến phố thì Hùng chỉ có thể vào phố trước thời điểm 10 hoặc từ thời điểm 15 hay muộn hơn.

Đoàn rước xuất phát ở thời điểm 0 tại điểm giao cắt đầu tiên trên hành trình và đi liên tục, không dừng lại, lần lượt qua các tuyến phố nối hai điểm giao cắt liên tiếp của hành trình. Hùng xuất phát từ A ở thời điểm H, được phép dừng lại chờ ở bất kỳ điểm giao cắt nào trong bao lâu cũng được. Thời gian Hùng đi đến đích được tính từ lúc Hùng xuất phát (thời điểm H) đến lúc Hùng tới B.

Yêu cầu: Hãy xác định khoảng thời gian ít nhất Hùng có thể đi đến đích.

Dữ liệu vào

  • Dòng đầu tiên ghi hai số nguyên dương N,M (2≤N≤1000, 2≤M≤10000) là số điểm giao cắt và số tuyến phố. Các điểm giao cắt được đánh số từ 1 đến N.
  • Dòng thứ hai chứa 4 số nguyên A,B,H,F với A,B là vị trí xuất phát và đích đến của Hùng (dữ liệu đảm bảo có đường đi từ A đến B), H là chênh lệch thời gian giữa thời điểm xuất phát của đoàn rước và thời điểm xuất phát của Hùng (Hùng xuất phát sau H đơn vị thời gian kể từ khi đoàn rước bắt đầu); F là số lượng điểm giao cắt có trên hành trình của đoàn rước.
  • Dòng thứ ba chứa F số nguyên lần lượt là số hiệu các điểm giao cắt trên hành trình mà đoàn rước đi qua theo thứ tự. Hai điểm giao cắt liên tiếp trên hành trình luôn được nối bởi một tuyến phố. Dữ liệu đảm bảo rằng không có một tuyến phố nào mà đoàn rước đi qua nhiều hơn một lần.
  • M dòng cuối cùng, mỗi dòng ghi ba số nguyên u,v và t thể hiện có một tuyến phố hai chiều nối u và v (u≠v) với thời gian đi hết nó (của Hùng cũng như của đoàn rước) là t. Giá trị của t nằm trong khoảng [1,1000].

Dữ liệu ra

Một số nguyên duy nhất là thời gian ngắn nhất mà Hùng có thể đi từ A đến B.

Ràng buộc

  • 2≤N≤1000, 2≤M≤10000.
  • 1≤A,B≤N, A≠B, 0≤H≤106, 1≤F≤M+1.
  • 1≤u,v≤N, u≠v, 1≤t≤1000; giữa hai điểm giao cắt có không quá một tuyến phố.

Subtasks

  • 50% số test có N≤50 và M≤100.

Ví dụ

Input Output Giải thích
6 5
1 6 20 4
5 3 2 4
1 2 2
2 3 8
2 4 3
3 6 10
3 5 15
21 Đoàn rước đi phố 5-3 trong [0,15), phố 3-2 trong [15,23), phố 2-4 trong [23,26). Hùng xuất phát ở thời điểm 20, tới 2 ở thời điểm 22, phố 2-3 đang bị cấm nên chờ tới 23, tới 3 ở thời điểm 31 và tới 6 ở thời điểm 41. Thời gian là 41−20=21.
4 4
1 4 0 3
3 2 4
1 2 3
3 2 3
2 4 2
1 4 8
7 Ví dụ bổ sung. Phố 2-4 bị cấm trong [3,5). Hùng tới 2 đúng thời điểm 3 nên không được vào phố 2-4, chờ tới thời điểm 5 rồi đi tiếp, tới 4 ở thời điểm 7 (đi thẳng phố 1-4 mất 8).

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0