10951. Суботник


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python

У класі навчаються \(N\) людей. Класний керівник отримав вказівку направити на суботник \(R\) бригад по \(С\) чоловік у кожній.

Усі бригади на суботнику займатимуться перенесенням колод. Кожна колода одночасно несуть усі члени однієї бригади. При цьому колоду нести тим зручніше, чим менша різниця росту членів цієї бригади.

Числом незручності бригади називатимемо різницю між ростом найвищого і ростом найнижчого членів цієї бригади (якщо в бригаді тільки одна людина, то ця різниця дорівнює 0). Класний керівник вирішив сформувати бригади так, щоб максимальне з чисел незручності сформованих бригад було мінімальним. Допоможіть йому в цьому!

Розглянемо наступний приклад. Нехай у класі 8 осіб, ріст яких у сантиметрах дорівнює 170, 205, 225, 190, 260, 130, 225, 160, і необхідно сформувати дві бригади по три особи в кожній. Тоді одним із варіантів є такий:

  • 1 бригада: люди з ростом 225, 205, 225
  • 2 бригада: люди з ростом 160, 190, 170

При цьому число незручності першої бригади дорівнюватиме 20, а число незручностей другої — 30. Максимальне з чисел незручностей буде 30, і це буде найкращий можливий результат.

Формат вхідних даних

Спочатку вводяться натуральні числа \(N\), \(R\) та \(C\) — кількість осіб у класі, кількість бригад та кількість осіб у кожній бригаді (\(1 ≤ R∙C ≤ N ≤ 100 000\)).

Далі вводяться \(N\) цілих чисел — ріст кожного з \(N\) учнів. Ріст учня - натуральне число, що не перевищує 1000000000.

Формат вихідних даних

Виведіть одне число - найменше можливе значення максимальної кількості незручності сформованих бригад.

Приклад вхідних даних

8 2 3
170
205
225
190
260
130
225
160

Приклад вихідних даних

30

Коментарі

Ще немає коментарів.