Олимпиадный тренинг

Задача . C. Кости Поликарпа


Задача

Темы: математика *1600

У Поликарпа есть n игральных костей d1, d2, ..., dn. На i-й игральной кости могут выпасть числа от 1 до di. Поликарп кинул все кости, и суммарно выпало A. Агрипина не видела, сколько выпало на каких костях, она знает только суммарное число A и значения d1, d2, ..., dn. Однако, уже этого ей достаточно, чтобы выдать серию утверждений вида: на кости i не могло выпасть число r. Например, если у Поликарпа было две шестигранных кости, а выпало суммарное значение A = 11, то Агрипина может утверждать, что на каждой из двух костей не могло появиться значение меньше пяти (в противном случае на оставшейся кости должно быть число не меньше семи, что невозможно).

Для каждой из костей найдите количество тех значений, которые гарантированно не могли выпасть на ней, если суммарно выпало A.

Входные данные

В первой строке заданы два целых числа n, A (1 ≤ n ≤ 2·105, n ≤ A ≤ s) — количество игральных костей и сумма выпавших значений, где s = d1 + d2 + ... + dn.

Вторая строка содержит n целых чисел d1, d2, ..., dn (1 ≤ di ≤ 106), где di — максимальное значение, которое может выпасть на i-й кости.

Выходные данные

Выведите n целых чисел b1, b2, ..., bn, где bi — количество тех значений, которые гарантированно не могли выпасть на i-й кости.

Примечание

В первом примере из условия A равное 8 могло выпасть только в одном случае, когда на первой и второй кости выпало по 4. Соответственно на обеих костях не могли выпасть значения 1, 2 или 3.

Во втором примере из условия A равное 3 могло выпасть, когда на единственной кости выпало 3. Соответственно на ней не могли выпасть значения 1, 2, 4 или 5.

В третьем примере из условия A равное 3 могло выпасть в случаях, когда на одной кости выпало 1, а на другой 2. Поэтому на первой кости нет значений, которые гарантированно не выпали, а на второй кости не могло выпасть 3.


Примеры
Входные данныеВыходные данные
1 2 8
4 4
3 3
2 1 3
5
4
3 2 3
2 3
0 1

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя