Mảng dư không
Đề bài
Mô tả
Cho một mảng gồm số nguyên dương.
Ban đầu bạn có một số nguyên . Trong mỗi bước, bạn được chọn thực hiện đúng một trong hai thao tác sau:
- Chọn đúng một chỉ số (từ đến ), tăng thêm (tức ), rồi tăng thêm (tức ).
- Chỉ tăng thêm (tức ).
Thao tác loại 1 chỉ được áp dụng nhiều nhất một lần cho mỗi chỉ số .
Hãy tìm số bước ít nhất cần thực hiện để thu được mảng mà mọi phần tử đều chia hết cho .
Bạn phải trả lời truy vấn độc lập.
Dữ liệu vào
- Dòng đầu chứa số nguyên — số lượng truy vấn.
- Với mỗi truy vấn:
- Dòng đầu chứa hai số nguyên và — độ dài mảng và ước số cần thoả.
- Dòng thứ hai chứa số nguyên .
Dữ liệu ra
Với mỗi truy vấn, in ra một số nguyên là số bước ít nhất cần thực hiện để mọi phần tử của mảng đều chia hết cho .
Ràng buộc
- Tổng trên tất cả các truy vấn không vượt quá .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 4 3 1 2 1 3 10 6 8 7 1 8 3 7 5 10 8 9 5 10 20 100 50 20 100500 10 25 24 24 24 24 24 24 24 24 24 24 8 8 1 2 3 4 5 6 7 8 |
6 18 0 227 8 |
Ở truy vấn 1: cần cộng vào phần tử (khi ), cộng vào phần tử (khi ), cộng vào phần tử (khi ), rồi cộng vào phần tử (khi ). Tổng cộng cần bước. Ở truy vấn 3 mọi phần tử đã chia hết cho nên cần bước. |
| 1 1 1000000000 99999999 |
900000002 | Cần cộng vào phần tử duy nhất, nên phải đạt , tốn bước (kể cả bước tăng cuối cùng). |
Bình luận