Мішки з вівсом
Обмеження: 2 сек., 512 МіБ
У Зеника з Марічкою на фермі є n жеребців, пронумерованих від 1 до n. Біля кожного коня стоїть свій мішок з вівсом. У мішку i-ого коня є ai кг вівса.
За один хід можна виконати одну з двох дій:
додати один кілограм вівса до мішка будь-якому коню,
забрати один кілограм вівса з мішка будь-якого коня.
Зеник з Марічкою хочуть, щоб на фермі можна було знайти k жеребців, які мають однакову масу вівса у своїх мішках.
За яку найменшу кількість ходів можна виконати побажання Зеника з Марічкою?
Вхідні дані
У першому рядку задано два цілих числа n та k — кількість жеребців на фермі та необхідна кількість жеребців з однаковою масою вівса.
У другому рядку задано n цілих чисел ai — маси вівса в мішках коней.
Вихідні дані
Виведіть ціле число — найменшу кількість ходів.
Обмеження
1≤k≤n≤2⋅105,
1≤ai≤109.
Оцінювання складається з таких блоків:
по 1 балу за кожен приклад з умови,
4 бали: всі ai однакові,
15 балів: n=k,
27 балів: ai≤2⋅103,
13 балів: n≤47,ai≤2⋅103,
20 балів: n≤2000,ai≤2⋅105,
19 балів: без додаткових обмежень.
Бали за блок ви отримаєте, тільки якщо ваша програма пройде всі тести з блоку.
Приклади
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
7 4 4 47 74 70 40 7 47 | 30 |
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
12 7 8 11 22 36 17 25 1 20 30 81 74 47 | 41 |
Примітки
У першому прикладі потрібно за 23 ходи забрати 23 кг вівса з мішка четвертого коня та за 7 ходів додати 7 кг вівса до мішка п’ятого коня. Тоді послідовність a перетвориться на (4,47–––,74,47–––,47–––,7,47–––). Після всіх 30 ходів четверо коней матимуть по 47 кг вівса.