У меня есть головоломка по разработке алгоритма, которую я не могу решить.
Загадка формулируется так: На числовой прямой стоят N человек, каждый из которых может стоять на любом целом числе на этой прямой. На один и тот же номер могут стоять несколько человек. Чтобы любые два человека могли общаться друг с другом, расстояние между ними должно быть меньше K. Цель состоит в том, чтобы переместить их так, чтобы каждая пара из двух людей могла общаться друг с другом (возможно, через других людей). Другими словами, нам нужно переместить их так, чтобы расстояние между любыми двумя соседними людьми было меньше, чем K.
Вопрос: Каково минимальное количество ходов? Такое ощущение, что это относится к семейству жадных алгоритмов или динамическому программированию. Любые подсказки приветствуются!