trang chủ / đề bài / modcount

Bài toán đếm modulo

Đề bài

Mô tả

Cho hai số nguyên dương a và b, cùng với q truy vấn. Truy vấn thứ i gồm hai số li và ri; đáp án của truy vấn này là số lượng số nguyên x thỏa mãn:

  • li≤x≤ri, và
  • ((xmoda)modb)≠((xmodb)moda).

Hãy tính đáp án cho từng truy vấn.

Nhắc lại: ymodz là phần dư của phép chia y cho z. Ví dụ, 5mod3=2, 7mod8=7, 9mod4=1, 9mod9=0.

Dữ liệu vào

Dòng đầu chứa số nguyên t (1≤t≤100) — số bộ test. Sau đó là t bộ test.

Với mỗi bộ test:

  • Dòng đầu chứa ba số nguyên a, b và q (1≤a,b≤200; 1≤q≤500).
  • Tiếp theo là q dòng, mỗi dòng chứa hai số nguyên li và ri (1≤li≤ri≤1018).

Dữ liệu ra

Với mỗi bộ test, in ra q số nguyên trên cùng một dòng — đáp án cho các truy vấn theo đúng thứ tự xuất hiện.

Ràng buộc

  • 1≤t≤100
  • 1≤a,b≤200
  • 1≤q≤500
  • 1≤li≤ri≤1018

Ví dụ

Input Output Giải thích
2
4 6 5
1 1
1 3
1 5
1 7
1 9
7 10 2
7 8
100 200
0 0 0 2 4
0 91
Bộ test 1: với a=4,b=6, hai giá trị x=4 và x=5 trong đoạn [1,7] làm cho ((xmoda)modb)≠((xmodb)moda), nên đáp án truy vấn thứ 4 là 2. Thêm x=6 trong [1,9] cho đáp án 4 ở truy vấn thứ 5.
Bộ test 2: với a=7,b=10, không có x nào trong [7,8] thỏa mãn, còn trong [100,200] có 91 giá trị thỏa mãn.
1
199 200 1
1 1000000000000000000
994974874371859201 Với a=199,b=200, phần lớn các x trong đoạn [1,1018] đều thỏa mãn điều kiện.

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