printРабочее место участника

printЗадачи

2222. Робин Гуд

Ограничения: время – 1000ms/2000ms, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Тим взломал сервер социальной сети iLike и теперь хочет компенсировать этот дурной поступок хорошим — отнять часть лайков у популярных пользователей этой сети и отдать их бедным таким образом, чтобы максимальная разница в количестве лайков у пользователей этой сети не превышала некоторого `K`.
Напишите программу, определяющую, какое наименьшее количество лайков должен перераспределить Тим, чтобы добиться желаемого.
Формат ввода
Первая строка ввода содержит два целых число `N` и `K` (`1\ ≤\ N\ ≤100 000`, `1\ ≤\ K\ ≤\ 10^6`) – количество пользователей и ограничение на минимальную разницу. Во второй строке `N` целых чисел от 0 до `10^{12}` – распределение лайков по пользователям сети.
Формат вывода
Вывести одно целое число – минимальное количество лайков, которое нужно перераспределить.

Пример ввода

4 2
5 6 2 0

Пример вывода

3
loading