Cân bằng số dư
Đề bài
Mô tả
Cho mảng số nguyên và một số nguyên dương . Biết rằng là ước của .
Trong một bước, bạn được chọn một vị trí bất kỳ () và tăng thêm .
Với mỗi số dư (), gọi là số phần tử của mảng có số dư bằng khi chia cho . Nhiệm vụ của bạn là biến đổi mảng sao cho , dùng ít bước nhất có thể.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và .
- Dòng thứ hai chứa số nguyên .
Dữ liệu ra
- Dòng đầu in một số nguyên: số bước ít nhất cần dùng.
- Dòng thứ hai in một mảng hợp lệ bất kỳ đạt được từ mảng ban đầu với đúng số bước ít nhất đó. Các phần tử của mảng kết quả không được vượt quá .
Ràng buộc
- , , là ước của .
- .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 2 0 1 2 3 |
0 0 1 2 3 |
Số dư khi chia : , mỗi số dư đã có đúng phần tử, không cần bước nào. |
| 6 3 3 2 0 6 10 12 |
3 3 2 0 8 10 13 |
Số dư khi chia ban đầu: , tức , , . Tăng (2 bước, số dư ) và (1 bước, số dư ) để mỗi số dư có đúng phần tử, tổng cộng bước. Mọi mảng hợp lệ với đúng bước đều được chấp nhận. |
Bình luận