Учитывая массив A из N целых чисел , массив, называемый магическим, если все его элементы имеют ровно 3 делителя .Теперь вам нужно конвертировать данный массив в магический массив длиной K .Вы можете выполнять следующие операции в любом порядке времени.
Увеличить значение любого элемента массива на 1.
Уменьшить значение любого элемента массива на 1.
Удалить любой элемент массива.
Ограничения:
1 <= N <= 1000000
1 <= K <= N
1 <= A <= 1000000
Sample Input
5(size of the array) 3(K)
1 4 10 8 15
Output
4
Решение, которое я пробовал:
Итерировал каждый элемент массива, проверяя около квадрата простого числа и добавляя эту разницу к глобальной операции подсчета (переменная, используемая для подсчета требуемых операций).Этот порядок времени n ^ 2.
В поисках лучшего решения.