trang chủ / đề bài / hp_tst_25_b

GRAPH

Đề bài

Mô tả

Trên bản đồ thành phố HP có n địa điểm (đánh số từ 1 đến n) và m con đường hai chiều (đánh số từ 1 đến m), con đường i (1≤i≤m) nối giữa hai địa điểm ui và vi (1≤ui,vi≤n; ui≠vi) có độ nguy hiểm là pi và tiêu tốn nhiên liệu wi.

Hải muốn di chuyển từ địa điểm 1 đến địa điểm n sao cho độ nguy hiểm lớn nhất là nhỏ nhất và trong số những cách di chuyển có độ nguy hiểm lớn nhất là nhỏ nhất đó thì chọn cách đi tốn ít nhiên liệu nhất.

Độ nguy hiểm lớn nhất của một cách di chuyển là giá trị pi lớn nhất trong các con đường đi qua; lượng nhiên liệu là tổng các wi của các con đường đi qua. Giữa hai địa điểm có thể có nhiều con đường.

Dữ liệu vào

  • Dòng đầu tiên gồm hai số nguyên dương n,m (1≤n≤2×105, 1≤m≤3×105);
  • m dòng sau, mỗi dòng gồm bốn số nguyên dương ui,vi,pi,wi mô tả một con đường nối giữa hai địa điểm ui và vi; có độ nguy hiểm là pi (1≤pi≤1018) và tiêu tốn nhiên liệu wi (1≤wi≤5×1012).

Các số trên cùng một dòng được ghi cách nhau bởi dấu cách. Dữ liệu đảm bảo luôn có thể di chuyển từ địa điểm 1 đến địa điểm n.

Dữ liệu ra

In ra hai số nguyên theo thứ tự là giá trị nhỏ nhất của độ nguy hiểm lớn nhất khi di chuyển từ địa điểm 1 đến địa điểm n và lượng nhiên liệu ít nhất trong số tất cả các cách di chuyển có độ nguy hiểm lớn nhất là nhỏ nhất. Hai số ghi cách nhau bởi dấu cách.

Ràng buộc

  • 1≤n≤2×105, 1≤m≤3×105
  • 1≤ui,vi≤n, ui≠vi
  • 1≤pi≤1018, 1≤wi≤5×1012

Subtasks

  • Subtask 1 (8% số điểm): n≤6, m≤10.
  • Subtask 2 (32% số điểm): n≤104, m≤2×104, wi=1.
  • Subtask 3 (18% số điểm): pi=1.
  • Subtask 4 (20% số điểm): n≤104, m≤2×104.
  • Subtask 5 (22% số điểm): không có ràng buộc gì thêm.

Ví dụ

Input Output Giải thích
5 7
1 2 1 1
1 3 2 3
2 3 3 1
2 4 1 2
2 5 1 3
3 5 1 1
4 5 1 2
1 4 Chỉ đi trên các con đường có độ nguy hiểm 1, cách tốn ít nhiên liệu nhất là 1→2→5 với 1+3=4; cách 1→2→4→5 tốn 1+2+2=5, còn cách 1→3→5 tốn 4 nhưng đi qua con đường có độ nguy hiểm 2.
4 4
1 2 1 10
1 3 5 1
3 2 1 1
2 4 5 1
5 3 Mọi cách đi tới địa điểm 4 đều qua con đường 2−4 có độ nguy hiểm 5. Cách 1→3→2→4 có độ nguy hiểm lớn nhất 5 và tốn 3 nhiên liệu, rẻ hơn cách 1→2→4 (tốn 11) dù cách sau đi tới địa điểm 2 an toàn hơn.

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