[VTT Q4 Contest 05] Bài 3: Chia kẹo [CANDY]

Xem dạng PDF

Gửi bài giải


Điểm: 3,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: CANDY.INP
Output: CANDY.OUT

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

Có ~n~ chiếc hộp đánh số từ 1 đến ~n~ để đựng kẹo; ban đầu hộp thứ ~i~ có ~a_i~ viên kẹo. Người ta chuẩn bị thêm ~m~ viên kẹo nữa để bỏ vào các hộp sao cho số kẹo giữa các hộp tương đối đều nhau, theo quy tắc sau: mỗi lần lấy một viên kẹo trong số ~m~ viên đó và bỏ vào hộp đang có ít kẹo nhất; nếu có nhiều hộp cùng ít kẹo nhất thì chọn hộp có chỉ số nhỏ nhất. Lặp lại cho đến khi bỏ hết ~m~ viên kẹo.

Hãy xác định số kẹo trong mỗi hộp sau khi đã bỏ hết ~m~ viên.

Dữ liệu

  • Dòng đầu tiên chứa hai số nguyên dương ~n~ và ~m~ (~1 \le n \le 10^5, 1 \le m \le 10^9~) là số hộp và số viên kẹo thêm vào.
  • Dòng thứ hai chứa ~n~ số nguyên không âm ~a_1, a_2, \dots, a_n~ (~0 \le a_i \le 10^9~).

Kết quả

Ghi ra một dòng gồm ~n~ số, số thứ ~i~ là số kẹo trong hộp thứ ~i~ sau khi chia xong ~m~ viên kẹo.

Ví dụ

CANDY.INP

4 5
2 1 4 2

CANDY.OUT

4 3 4 3

Giải thích: Lần lượt kẹo vào hộp 2 (thành 2), hộp 1 (thành 3), hộp 2 (thành 3), hộp 4 (thành 3), rồi hộp 1 (thành 4); kết quả 4 3 4 3.

Giới hạn

  • Subtask 1 (50% số điểm): ~n, m \le 5 \times 10^3~.
  • Subtask 2 (50% số điểm): không có ràng buộc gì thêm.

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.