Bàn Đạp Nhảy

Đề bài

Mô tả

Một vận động viên trượt tuyết chạy đua trên trục X: xuất phát tại điểm 0 và đích tại điểm L. Vận tốc trượt trên tuyết là 1 mét/giây.

Trên đường đua có n bàn đạp nhảy. Bàn đạp thứ i được mô tả bởi bốn số nguyên xi,di,ti,pi:

  • xi — toạ độ của bàn đạp.
  • di — khoảng cách bay: khi nhảy từ bàn đạp i, vận động viên sẽ tiếp đất tại điểm xi+di.
  • ti — thời gian bay (tính bằng giây).
  • pi — quãng đường lấy đà cần thiết: để sử dụng bàn đạp i, vận động viên phải bắt đầu lấy đà từ điểm xipi, trượt liên tục pi mét đến điểm xi rồi bay lên. Trong khi lấy đà, vận động viên ở trên tuyết và vận tốc vẫn là 1 mét/giây.

Vận động viên có thể di chuyển theo cả hai chiều trên trục X, nhưng không được vượt qua điểm xuất phát (không được sang nửa trục âm). Mọi vị trí xuất hiện trên đường đi phải 0.

Vận động viên tự chọn dùng bàn đạp nào và theo thứ tự nào — không bắt buộc dùng tất cả. Mỗi bàn đạp chỉ dùng được tối đa một lần, và chỉ nhảy theo chiều dương của trục X (không nhảy ngược). Đảm bảo xi+diL.

Một bàn đạp i chỉ sử dụng được nếu xipi0.

Hãy tìm thời gian nhỏ nhất để vận động viên đi từ 0 tới L, và in ra dãy bàn đạp đã sử dụng theo thứ tự.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nL.
  • n dòng tiếp theo, dòng thứ i chứa bốn số nguyên xi,di,ti,pi.

Dữ liệu ra

  • Dòng đầu in thời gian nhỏ nhất.
  • Dòng thứ hai in số k — số bàn đạp được sử dụng.
  • Dòng thứ ba in k chỉ số bàn đạp (đánh số từ 1) theo thứ tự sử dụng, cách nhau bởi dấu cách. Nếu k=0 thì dòng này có thể để trống.

Nếu có nhiều dãy bàn đạp cho cùng thời gian nhỏ nhất, in ra dãy bất kỳ.

Ràng buộc

  • 0n105.
  • 1L109.
  • 0xiL; 1di,ti,pi109; xi+diL.

Ví dụ

Input Output Giải thích
2 20
5 10 5 5
4 16 1 7
15
1
1
Bàn đạp 2 không dùng được vì cần lấy đà từ điểm 47=3<0. Dùng bàn đạp 1: lấy đà 5 mét (05) + bay 5 giây tới 15 + trượt 5 mét tới đích =15.
2 20
9 8 12 6
15 5 1 1
16
1
2
Bàn đạp 1t1=12>d1=8 nên bay chậm hơn trượt thẳng, không lợi. Dùng bàn đạp 2: trượt 14 mét (014) + lấy đà 1 mét + bay 1 giây tới 20=16.

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