Menu
CoddyTech

Chocolate Distribution Problem

У тебя есть несколько пакетов шоколада, а packets[i] — количество шоколадок в пакете i. Каждый из m учеников получает ровно один пакет, поэтому раздают m разных пакетов. Выбери их так, чтобы разница между самым большим и самым маленьким из розданных пакетов была как можно меньше.

Напиши функцию с именем minDifference, которая возвращает наименьшую возможную разницу.

Функция

minDifference(packets: integer-array, m: integer) → integer
packetsinteger-array
количество шоколадок в каждой упаковке
minteger
число учеников, каждый из которых получает по одному пакету
Возвращаетinteger
наименьшая возможная разница между самым большим и самым маленьким выданными пакетами

Ограничения

  • 2 ≤ m ≤ packets.length ≤ 104
  • 1 ≤ packets[i] ≤ 105
  • В двух упаковках может быть одинаковое количество шоколадок.

Примеры

Ввод
packets = [9, 3, 15, 7, 11, 4]m = 3
Вывод
4
Пояснение
После сортировки получаем пакеты 3, 4, 7, 9, 11 и 15. И 3, 4, 7, и 7, 9, 11 дают разницу 4, и никакие три пакета не расположены ближе друг к другу.
Сбросить код
def minDifference(packets, m):
    # Напишите код здесь

Тест #1

Тест #2

Тест #3

Аргументы

packets = [9, 3, 15, 7, 11, 4]
m = 3

Ожидаемый вывод

4