Cân bằng số dư
Đề bài
Mô tả
Cho một số nguyên chia hết cho và một mảng .
Mỗi bước, bạn chọn một chỉ số () và thay bằng . Một chỉ số có thể được chọn nhiều lần ở các bước khác nhau.
Gọi , , lần lượt là số phần tử của mảng có số dư , , khi chia cho . Mảng được gọi là cân bằng số dư nếu .
Hãy tìm số bước ít nhất cần thực hiện để mảng trở nên cân bằng số dư.
Dữ liệu vào
- Dòng đầu chứa một số nguyên () là số bộ dữ liệu.
- Mỗi bộ dữ liệu gồm hai dòng:
- Dòng thứ nhất chứa một số nguyên () là độ dài mảng . Đảm bảo chia hết cho .
- Dòng thứ hai chứa số nguyên ().
Tổng trên tất cả các bộ dữ liệu không vượt quá .
Dữ liệu ra
Với mỗi bộ dữ liệu, in ra trên một dòng số bước ít nhất cần thực hiện để mảng cân bằng số dư.
Ràng buộc
- , chia hết cho
- Tổng trên tất cả các bộ dữ liệu không vượt quá
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 6 0 2 5 5 4 8 6 2 0 2 1 0 0 9 7 1 3 4 2 10 3 9 6 6 0 1 2 3 4 5 |
3 1 3 0 |
Bộ 1: ban đầu , , . Tăng , , mỗi số một lần được mảng với . Bộ 2: chỉ cần tăng một lần. Bộ 4: mảng đã cân bằng sẵn nên đáp án là . |
| 3 3 0 1 2 3 5 5 5 6 2 2 2 2 2 2 |
0 3 6 |
Bộ 2: cả ba số đều có số dư . Đưa một số về số dư tốn bước, đưa một số khác về số dư tốn bước, tổng cộng . Bộ 3: sáu số cùng số dư , cần đưa hai số về số dư ( bước mỗi số) và hai số về số dư ( bước mỗi số), tổng cộng . |
Bình luận