11910. Яблука в кошику


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

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

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

Є \(N\) кошиків пронумерованих \(1, 2, \ldots, N\), розташованих по колу. Для кожного \(1\leq i \leq N-1\) кошик \(i+1\) знаходиться безпосередньо праворуч від кошика \(i\), а кошик 1 знаходиться безпосередньо праворуч від кошика \(N\). Кошик \(i\) тепер містить \(A_i\) яблук. Степан починає перед кошиком 1 і повторює наступну дію.

  • Якщо в кошику, який стоїть перед ним, є яблуко, візьміть одне і з’їжте його. Потім, незалежно від того, чи з’їв він зараз яблуко, перейдіть до наступного кошика праворуч.

Знайдіть кількість яблук, що залишилися в кожному кошику, коли Степан з’їв рівно \(K\) яблук.

Обмеження

  • \(1 \leq N \leq 10^5\)
  • \(0 \leq A_i \leq 10^{12}\)
  • \(1 \leq K \leq 10^{12}\)
  • Всього яблук не менше \(K\). Тобто \(\sum_{i=1}^{N}A_i\geq K\).
  • Усі значення у вхідних даних є цілими числами.

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

Перший рядок містить цілі числа \(N,K\)

Наступний  рядок містить \(N\) цілих чисел \(A_i\)

Числа у рядках розділяються пропуском.

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

У вихідний потік виведіть \(N\) цілих чисел із пробілами між ними. \(I\)-те ціле число має дорівнювати кількості яблук, що залишилися в кошику \(i\), коли Степан з’їв рівно \(K\) яблук.

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

3 3
1 3 0

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

0 1 0

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

2 1000000000000
1000000000000 1000000000000

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

500000000000 500000000000

Коментарі

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