Ctrl K

Номера без повторов

Средняя
Участникам забега раздали номера, badges[i] — номер i-го участника. Из-за путаницы некоторые номера повторяются. За одну операцию можно взять любой номер и увеличить его на 1. Уменьшать номера нельзя. Верните наименьшее число операций, после которых все номера станут попарно различными.
Пример 1
badges=[4, 4, 4, 1] → 3

Одну четвёрку оставляем, вторую поднимаем до 5 (1 операция), третью до 6 (2 операции). Итого 3.

Пример 2
badges=[2, 0, 2, 0, 1] → 5

Можно получить номера 2, 0, 3, 1, 4: вторая двойка становится тройкой (+1), второй ноль — единицей (+1), а единица — четвёркой (+3). Итого 5.

Пример 3
badges=[3, 9, 6] → 0

Номера уже различны.

Ограничения
  • 1 ≤ len(badges) ≤ 10⁵
  • 0 ≤ badges[i] ≤ 10⁵
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиЗадания с перерывом на остывание СредняяМетки вразнобой СредняяВыбор с лимитом по тегам СредняяМеньше видов после удаления СредняяПалиндромы из общих букв Средняя
загружаем Python…
Вход
badges=[4, 4, 4, 1]
Ожидается
3

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 107 тестов на сервере, включая скрытые.