Робот
В стране Олимпии сегодня праздник!
Единственное почтовое отделение на улице Олимпийской переполнено подарками, которые нужно как можно быстрее доставить адресатам. В этот день поступило N
подарков, и i-й
из них должен быть доставлен в дом с номером h[i]
. Несколько подарков могут быть адресованы в один и тот же дом.
Почтовое отделение находится в начале улицы Олимпийской. Справа от почты вдоль прямой дороги расположены дома, нумерация которых начинается с 1
; i-й
дом находится на расстоянии i
километров от почты. Для доставки подарков используется единственный специальный почтовый робот, который может одновременно перевозить не более K
предметов. Загрузка и выгрузка одного подарка занимает одну минуту, и два подарка не могут загружаться или выгружаться одновременно. Один километр робот преодолевает за одну минуту.
Задание
Напишите программу, которая, используя информацию о каждом подарке и характеристиках робота, определит минимальное время в минутах, за которое робот сможет доставить все подарки по адресам и вернуться в почтовое отделение. Изначально все подарки и робот находятся в отделении.
Входные данные
Первая строка входных данных содержит два целых числа N
и K
(1 ≤ N ≤ 10^5, 1 ≤ K ≤ 10^3)
— количество подарков, поступивших в почтовое отделение, и максимальное количество предметов, которые может одновременно перевозить робот. Вторая строка содержит N
целых чисел, разделённых пробелами: i-е
число равно h[i]
(1 ≤ h[i] ≤ 10^6)
— номер дома, в который необходимо доставить i-й
подарок. Гарантируется, что дома с указанными номерами действительно расположены на улице Олимпийской.
Выходные данные
Единственная строка выходных данных должна содержать одно целое число — минимальное время в минутах, за которое робот сможет доставить все подарки по адресам и вернуться в почтовое отделение.
Примеры
Оценивание
Набор тестов состоит из 4 блоков, для каждого из которых выполняются следующие условия:
25 % баллов:
1 ≤ N ≤ 10, 1 ≤ K ≤ 5, 1 ≤ h[i] ≤ 10^2
.25 % баллов:
1 ≤ N ≤ 10^3, 1 ≤ K ≤ 10^2, 1 ≤ h[i] ≤ 10^4
.25 % баллов:
1 ≤ N ≤ 10^5, 1 ≤ K ≤ 10^3, 1 ≤ h[i] ≤ 10^4
.25 % баллов:
1 ≤ N ≤ 10^5, 1 ≤ K ≤ 10^3, 1 ≤ h[i] ≤ 10^6
.
Пример. Пронумеруем подарки от 1 до 7. Тогда один из оптимальных планов доставки может выглядеть следующим образом:
• 2 минуты: загрузка 5 и 6 подарков (оба нужно доставить в дом 1),
• 1 минута: перемещение робота от отделения до дома 1,
• 2 минуты: выгрузка 5 и 6 подарков,
• 1 минута: перемещение робота от дома 1 до отделения,
• 2 минуты: загрузка 2 и 7 подарков (2-й подарок нужно доставить в дом 9, 7-й подарок — в дом 3),
• 9 минут: перемещение робота от отделения до дома 9,
• 1 минута: выгрузка 2-го подарка,
• 6 минут: перемещение робота от дома 9 до дома 3,
• 1 минута: выгрузка 7-го подарка,
• 3 минуты: перемещение робота от дома 3 до отделения,
• 3 минуты: загрузка 1, 3 и 4 подарков (1-й и 3-й подарки нужно доставить в дом 3, 4-й подарок — в дом 2),
• 2 минуты: перемещение робота до дома 2,
• 1 минута: выгрузка 4-го подарка,
• 1 минута: перемещение робота от дома 2 до дома 3,
• 2 минуты: выгрузка 1-го и 3-го подарков,
• 3 минуты: перемещение робота от дома 3 до отделения.