Mister B và trò chơi nhàm chán

Đề bài

Mô tả

Có một trò chơi mà mọi ký tự đều là chữ cái Latinh thường. Hai người chơi là Mister B và một đối thủ (thực chất là máy tính).

Ban đầu xâu s gồm a chữ cái đầu tiên của bảng chữ cái theo thứ tự (ví dụ a=5 thì s= abcde).

Hai người lần lượt thêm chữ cái vào cuối xâu s, Mister B đi trước.

  • Trong mỗi lượt của mình, Mister B thêm đúng b chữ cái vào cuối s. Anh ta được tự do chọn các chữ cái này.
  • Trong mỗi lượt của mình, máy tính thêm đúng a chữ cái. Máy tính xét đoạn hậu tố độ dài a của xâu s hiện tại, rồi sinh ra xâu t độ dài a sao cho tất cả các chữ cái trong t đều đôi một khác nhau và không xuất hiện trong hậu tố vừa xét. Trong các xâu t thỏa mãn, máy tính chọn xâu nhỏ nhất theo thứ tự từ điển, rồi nối t vào cuối s.

Ví dụ nếu a=4 và hậu tố đang xét là bfdd thì máy tính chọn t= aceg.

Xâu s có thể kéo dài vô hạn. Vì Mister B được tự do chọn các chữ cái của mình, xâu s phụ thuộc vào chiến thuật của anh ta.

Hãy tìm số lượng chữ cái phân biệt nhỏ nhất có thể có trên đoạn từ vị trí l đến vị trí r (tính cả hai đầu) của xâu s, lấy nhỏ nhất trên mọi cách chơi của Mister B. Các vị trí của s được đánh số từ 1.

Dữ liệu vào

Một dòng duy nhất chứa bốn số nguyên a, b, l, r.

Dữ liệu ra

In ra một số nguyên: số lượng chữ cái phân biệt nhỏ nhất có thể có trên đoạn từ vị trí l đến vị trí r.

Ràng buộc

  • 1≤a,b≤12
  • 1≤l≤r≤109

Ví dụ

Input Output Giải thích
1 1 1 8 2 Một chiến thuật tối ưu tạo ra s= abababab..., nên đoạn có 2 chữ cái phân biệt.
4 2 2 6 3 Có thể tạo được s= abcdbcaefg..., đoạn cần xét là bcdbc, gồm 3 chữ cái phân biệt.
3 7 4 6 1 Có thể tạo được s= abczzzacad..., đoạn cần xét là zzz, chỉ gồm 1 chữ cái.

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