Đường đi tốt nhất

Đề bài

Mô tả

Một đất nước có n thành phố, được nối với nhau bởi n1 con đường hai chiều sao cho từ thành phố bất kỳ có thể đi tới mọi thành phố khác (hệ thống đường tạo thành một cây).

Mỗi thành phố i có một trạm xăng, và do quy định của địa phương, tại thành phố i bạn chỉ được mua đúng wi lít xăng. Mỗi con đường có một độ dài c, và mỗi lần đi qua con đường đó, lượng xăng trong bình giảm đi c lít.

Bạn cần chọn một thành phố xuất phát u và một thành phố kết thúc v, rồi đi theo đường đi đơn (không lặp lại thành phố nào) từ u tới v. Đường đi có thể chỉ gồm một thành phố duy nhất (u=v). Bạn mua xăng tại mọi thành phố đi qua, kể cả thành phố xuất phát và thành phố kết thúc. Lượng xăng ban đầu bằng 0 và trong suốt hành trình lượng xăng không bao giờ được âm, tức là không được chọn đường đi mà giữa chừng bị hết xăng.

Hãy tính lượng xăng lớn nhất còn lại trong bình khi kết thúc hành trình.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n là số thành phố.
  • Dòng thứ hai chứa n số nguyên w1,w2,,wn là lượng xăng mua được tại mỗi thành phố.
  • n1 dòng tiếp theo, mỗi dòng chứa ba số nguyên u, v, c mô tả một con đường nối thành phố u và thành phố v có độ dài c.

Dữ liệu ra

Một số nguyên duy nhất là lượng xăng lớn nhất còn lại khi kết thúc hành trình.

Ràng buộc

  • 1n3·105
  • 0wi109
  • 1u,vn, uv, 1c109
  • Dữ liệu đảm bảo hệ thống đường tạo thành một cây.

Ví dụ

Input Output Giải thích
3
1 3 3
1 2 2
1 3 2
3 Đi theo đường 213: mua được 3+1+3=7 lít, tiêu tốn 2+2=4 lít, còn lại 3 lít.
5
6 3 2 5 0
1 2 10
2 3 3
2 4 1
1 5 1
7 Đi theo đường 24: mua được 3+5=8 lít, tiêu tốn 1 lít, còn lại 7 lít. Con đường 12 dài 10 khiến việc gộp thành phố 1 vào đường đi không có lợi.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0