Vòng tròn nhà hàng (The Beatles)

Đề bài

Mô tả

Có một tuyến đường vòng tròn đi qua n·k thành phố, được đánh số từ 1 đến n·k theo chiều vòng tròn. Khoảng cách giữa hai thành phố kề nhau đúng bằng 1 km, và thành phố n·k kề với thành phố 1.

Trên vòng tròn có n nhà hàng, đặt tại các thành phố 1, k+1, 2k+1, , (n1)k+1. Như vậy khoảng cách giữa hai nhà hàng kề nhau đúng bằng k km.

Sergey bắt đầu hành trình tại một thành phố s nào đó và di chuyển dọc theo vòng tròn, cứ sau mỗi l km (l>0) thì dừng lại một lần, cho đến khi quay về đúng s. Sergey luôn đi cùng một chiều trên vòng tròn.

Sergey đã quên mất sl, nhưng nhớ rằng khoảng cách từ thành phố xuất phát s đến nhà hàng gần nhất là a km, và khoảng cách từ thành phố mà anh dừng lại sau khi đi l km đầu tiên đến nhà hàng gần nhất là b km. Khi tính các khoảng cách này, Sergey xét cả hai chiều của vòng tròn (tức là lấy khoảng cách nhỏ hơn).

Hãy tìm hai số nguyên: x là số lần dừng ít nhất (không tính lần xuất phát) mà Sergey có thể đã thực hiện trước khi quay về s, và y là số lần dừng nhiều nhất có thể.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nk: số nhà hàng và khoảng cách giữa hai nhà hàng kề nhau.
  • Dòng thứ hai chứa hai số nguyên ab: khoảng cách từ thành phố xuất phát và từ thành phố dừng đầu tiên đến nhà hàng gần nhất.

Dữ liệu ra

In ra hai số nguyên xy, cách nhau bởi dấu cách.

Ràng buộc

  • 1n,k105
  • 0a,bk/2

Ví dụ

Input Output Giải thích
2 3
1 1
1 6 Các nhà hàng ở thành phố 1 và 4; s có thể là 2, 3, 5 hoặc 6. Nếu s và điểm dừng đầu trùng nhau (ví dụ l=6) thì chỉ cần 1 lần dừng. Xét mọi khả năng, số lần dừng nhiều nhất là 6.
3 2
0 0
1 3 Cả điểm xuất phát và điểm dừng đầu đều ở ngay nhà hàng nên l{2,4,6}, cho x=1, y=3.
1 10
5 3
5 5 Chỉ có một nhà hàng ở thành phố 1. Các vị trí khả dĩ của (s,điểm dừng)(6,8)(6,4), ứng với l=2l=8; cả hai đều cần đúng 5 lần dừng.

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