[DHBB25 - DX17 - 11] Bài 2: Dãy chia hết

Xem dạng PDF

Gửi bài giải

Điểm: 30,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Cho ba số nguyên không âm ~N, K, X~ (~0 \le X < K < N \le 10^{18}~). Với dãy số ~0, 1, 2, 3, \dots, N~ người ta sắp xếp lại dãy số đó theo quy tắc:

  • Bộ các số chia ~K~ dư ~X~ xếp đầu tiên;
  • Tiếp theo là bộ các số chia ~K~ dư ~X + 1~;
  • ~\dots~
  • Bộ các số chia ~K~ dư ~K - 1~;
  • Bộ các số chia hết cho ~K~;
  • Bộ các số chia ~K~ dư ~1~;
  • ~\dots~
  • Bộ các số chia ~K~ dư ~X - 1~;

Trong mỗi bộ số có cùng tính chia hết, các số được sắp xếp giảm dần.

Yêu cầu: Cho ~Q~ truy vấn, mỗi truy vấn chứa ba số nguyên không âm ~N, K, X~ và số nguyên dương ~D~ (~D \le N + 1~). Tìm số thứ ~D~ của dãy số sau khi sắp xếp.

Input

  • Dòng đầu tiên chứa số nguyên dương ~Q~ không vượt quá ~10^5~ là số lượng truy vấn.
  • ~Q~ dòng tiếp theo: Mỗi dòng mô tả một truy vấn có dạng: ~N, K, X, D~ mỗi số cách nhau bởi một dấu cách.

Output

  • Gồm ~Q~ dòng, mỗi dòng chứa kết quả của một truy vấn.

Sample Input 1

2
10 4 2 5
10 3 0 6

Sample Output 1

3
7

Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    _truongmai_292  đã bình luận lúc 4, Tháng 1, 2026, 16:11

    chỉ có chia và nhân thôi ! mà :)) sao làm khó nhau vậy !