trang chủ / bài tập / tramsched

Lịch tàu điện

Đề bài

Mô tả

Một ngày trên hành tinh Kirnes gồm h giờ, mỗi giờ gồm m phút, trong đó m là số chẵn.

Trên hành tinh có n chuyến tàu hàng. Chuyến thứ i khởi hành vào lúc hi giờ mi phút, và lặp lại đúng thời điểm đó vào mọi ngày.

Chính quyền muốn mở thêm tuyến tàu điện chở khách chạy đều đặn với chu kỳ nửa giờ: chuyến tàu điện đầu tiên trong ngày khởi hành lúc 0 giờ t phút với 0t<m2, chuyến kế tiếp khởi hành sau đó đúng m2 phút, và cứ thế tiếp tục. Nhờ vậy mỗi giờ có đúng 2 chuyến tàu điện.

Để hành khách kịp lên tàu, mỗi chuyến tàu điện phải vào ga trước giờ khởi hành k phút. Trong suốt khoảng k phút đón khách đó, không một chuyến tàu hàng nào được phép khởi hành. Tuy nhiên tàu hàng vẫn được phép khởi hành đúng vào thời điểm bắt đầu đón khách, cũng như đúng vào thời điểm tàu điện rời ga.

Thời gian được xem là tuần hoàn theo ngày: nếu t<k thì khoảng đón khách của chuyến tàu điện đầu tiên vắt sang kt phút cuối cùng của ngày, và trong kt phút cuối ngày cũng không tàu hàng nào được khởi hành.

Có thể không tồn tại giá trị t nào thoả mãn mà không phải huỷ bớt tàu hàng. Hãy chọn t sao cho số chuyến tàu hàng bị huỷ là nhỏ nhất.

Dữ liệu vào

  • Dòng đầu chứa bốn số nguyên n, h, m, k — số chuyến tàu hàng, số giờ trong ngày, số phút trong một giờ và thời gian đón khách của mỗi chuyến tàu điện.
  • n dòng tiếp theo, dòng thứ i chứa hai số nguyên himi — thời điểm khởi hành của chuyến tàu hàng thứ i.

Dữ liệu ra

  • Dòng đầu chứa hai số nguyên: số chuyến tàu hàng ít nhất phải huỷ và giá trị t tương ứng.
  • Dòng thứ hai chứa chỉ số (đánh số từ 1 theo thứ tự dữ liệu vào) của các chuyến tàu hàng bị huỷ, theo thứ tự bất kỳ. Nếu không phải huỷ chuyến nào, in ra một dòng trống.

Nếu có nhiều đáp án, in ra một đáp án bất kỳ.

Ràng buộc

  • 1n100000
  • 1h109
  • 2m109, m chẵn
  • 1km2
  • 0hi<h, 0mi<m
  • Không có hai chuyến tàu hàng nào khởi hành cùng một thời điểm

Ví dụ

Input Output Giải thích
2 24 60 15
16 0
17 15
0 0 Chọn t=0: tàu điện rời ga vào phút 0 và phút 30 của mỗi giờ, bắt đầu đón khách từ phút 45 và phút 15. Chuyến tàu hàng lúc 16 giờ 0 phút khởi hành đúng lúc tàu điện rời ga nên được phép, chuyến lúc 17 giờ 15 phút khởi hành đúng lúc bắt đầu đón khách nên cũng được phép. Không phải huỷ chuyến nào, dòng thứ hai để trống.
2 24 60 16
16 0
17 15
1 0
2
Với t[1,15] thì chuyến lúc 16 giờ 0 phút bị chặn; với t=0 hoặc t[16,29] thì chuyến lúc 17 giờ 15 phút bị chặn. Vậy phải huỷ ít nhất một chuyến. Chọn t=0 và huỷ chuyến 2. Đáp án khác cũng được chấp nhận, chẳng hạn huỷ chuyến 1 và chọn t=13.

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