[Hưng Yên - TS10 - 2025] Bài 5: Chia kẹo

Xem dạng PDF

Gửi bài giải

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

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

Nhân dịp Tết thiếu nhi, các bạn tỉnh nguyện viên chuẩn bị n hộp để đựng kẹo. Các hộp được đánh số ~1,2,3,..., n~ từ trái qua phải. Ban đầu, hộp thứ ~i~ có ~a_i~ viên.

Ban tổ chức tặng thêm ~m~ viên kẹo và các tỉnh nguyện viên muốn chia số kẹo này vào các hộp sao cho sau khi chia kẹo, số kẹo ở hộp ít nhất là lớn nhất có thể. Cách chia kẹo như sau:

  • Mỗi lần lẩy ~1~ viên kẹo và bỏ vào hộp có ít kẹo nhất.
  • Nếu có nhiều hộp cùng ít kẹo nhất, chọn hộp có số hiệu nhỏ nhất (bên trái nhất).
  • Lặp lại cho đến khi chia hết ~m~ viên kẹo.

Yêu cầu: Hãy xác định số kẹo từng hộp sau khi chia hết số kẹo đó.

Input

Dòng đầu tiên chứa hai số nguyên ~n,m~ (~n ≤ 10^4~, ~m ≤ 10^{16}~)

Dòng thứ hai chứa ~n~ số tự nhiên ~a_1, a_2, ..., a_n~ là số lượng kẹo ban đầu trong mỗi hộp (~a_i \le 10^{16}~).

Output

Dòng dầu tiên ghi số lượng kẹo của hộp ít nhất sau khi thực hiện chia hết ~m~ viên kẹo.

Dòng thứ hai là ~n~ số ~b_1, b_2, b_3 ..., b_n~ với ~b_i~ là số lượng kẹo trong hộp ~i~ sau khi thực hiện chia kẹo.

Sample Input 1

5 3
6 2 4 2 3

Sample Output 1

3
6 4 4 3 3

Dãy ban đầu: ~(6,2,4,2,3)~

  • Lượt ~1~: thêm ~1~ viên vào hộp ~2~: ~(6,3,4,2,3)~
  • Lượt ~2~: thêm ~1~ viên vào hộp ~4~: ~(6,3,4,3,3)~
  • Lượt ~3~: thêm ~1~ viên vào hộp ~2~: ~(6,4,4,3,3)~

Sample Input 2

5 7
8 8 8 8 8

Sample Output 2

9 
10 10 9 9 9

Subtasks

Subtask Điểm Ràng buộc
1 ~25~ ~m, n \le 10^3~, ~a_i \le 10^3~.
2 ~25~ ~a_1 = a_2 = ... = a_n~, ~m, a_i \le 10^9~.
3 ~50~ Không có ràng buộc gì thêm.

Bài làm của thí sinh sẽ được ~60 \%~ số điểm của test nếu như chi đưa ra đúng số lượng kẹo nhỏ nhất trong các hộp.


Bình luận

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


Không có bình luận tại thời điểm này.