11557. Розділити цукерки


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Author:
Problem type
Allowed languages
C++, Java, Pascal, Python

У деякому Королівстві є \(N\) громадян. Кожен громадянин має національний ідентифікаційний номер; посвідчення особи \(i\)-го громадянина \(a_i\). Всі \(a_i\) попарно різні.

Степан має \(K\) цукерок. Він вирішив роздавати ці цукерки громадянам у такий спосіб.

  • Коли у нього буде \(N\) або більше штук, то він дає кожному громадянину по одній штуці.

  • Інакше, нехай \(K'\) буде кількість цукерок, які є на даний момент. Він роздасть по одній кожному з \(K'\) громадян з найменшими ідентифікаторами.

Коли всі цукерки будуть роздані, знайдіть скільки цукерок буде в \(i\)-го громадянина?

Формат вхідних даних

Перший рядок містить цілі числа \(N, K\) (\(1 \le N \le 2 \times 10^5\), \(1 \le K \le 10^{18}\))

Наступний  рядок містить \(N\) цілих чисел \(a_i\) (\(1 \le a_i \le 10^9\))

Формат вихідних даних

У вихідний потік виведіть виведіть \(N\) рядків: \(i\)-й рядок містить кількість цукерок у відповідного громадянина.

Приклад вхідних даних

2 7
1 8

Приклад вихідних даних

4
3

Приклад вхідних даних

1 3
33

Приклад вихідних даних

3

Приклад вхідних даних

7 1000000000000
99 8 2 4 43 5 3

Приклад вихідних даних

142857142857
142857142857
142857142858
142857142857
142857142857
142857142857
142857142857

Коментарі

Ще немає коментарів.