Đoạn nhàm chán

Đề bài

Mô tả

Cho n đoạn thẳng trên trục số, đánh số từ 1 đến n. Đoạn thứ i phủ mọi điểm nguyên từ li đến ri và có giá trị wi.

Bạn cần chọn ra một tập con của các đoạn này (có thể chọn tất cả). Sau khi đã chọn tập con, ta có thể di chuyển giữa hai điểm nguyên nếu tồn tại một đoạn đã chọn phủ cả hai điểm đó. Một tập con được gọi là tốt nếu xuất phát từ điểm 1 ta có thể đến được điểm m sau một số bước di chuyển tùy ý.

Chi phí của một tập con là hiệu giữa giá trị lớn nhất và giá trị nhỏ nhất của các đoạn trong tập đó. Hãy tìm chi phí nhỏ nhất của một tập con tốt.

Dữ liệu luôn đảm bảo tồn tại ít nhất một tập con tốt.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nm.
  • n dòng tiếp theo, mỗi dòng chứa ba số nguyên li, riwi: mô tả đoạn thứ i.

Dữ liệu ra

  • In ra một số nguyên duy nhất: chi phí nhỏ nhất của một tập con tốt.

Ràng buộc

  • 1n3·105
  • 2m106
  • 1li<rim
  • 1wi106
  • Dữ liệu luôn có ít nhất một tập con tốt.

Ví dụ

Input Output Giải thích
1 10
1 10 23
0 Chỉ có một đoạn phủ toàn bộ từ 1 đến 10. Chọn đúng đoạn này, chi phí là 2323=0.
5 12
1 5 5
3 4 10
4 10 6
11 12 5
10 12 3
3 Chọn các đoạn 1 (w=5), 3 (w=6) và 5 (w=3): đoạn 1 phủ 1..5, đoạn 3 phủ 4..10, đoạn 5 phủ 10..12, nối liền từ 1 tới 12. Chi phí là 63=3.

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