Обработка математики: 100%

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

printЗадачи

2222. Робин Гуд

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

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

Пример ввода

4 2
5 6 2 0

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

3
loading