Минимальное расстояние между данным массивом и массивом из всех простых чисел - PullRequest
1 голос
/ 14 октября 2019

У нас есть следующая проблема:

Давайте назовем последовательность чисел b[1]...b[n] fancy если gcd(b[i], b[j]) = 1 для всех 1 <= i < j <= n. (имеется в виду всеэлементы массива взаимно просты друг с другом).

При заданной последовательности чисел a[1], a[2], ..., a[n], каково минимально возможное значение abs(a[1]-b[1]) + abs(a[2]-b[2]) + ... + abs(a[n]-b[n]), где b[1]...b[n] причудливая последовательность?

ПРИМЕР:

Вход - [1, 1, 1, 1, 1]
Выход - 0
Объяснение : [1, 1, 1, 1, 1] сама по себе является «причудливой» последовательностью, поэтому минимально возможное расстояние равно 0.

Ввод - [1, 6, 4, 2, 8]
Вывод - 3
Объяснение - Одна из оптимальных "причудливых" последовательностей - [1, 5, 3, 1, 8].
distance([1, 6, 4, 2, 8], [1, 5, 3, 1, 8]) = | 1-1 |+ | 6-5 |+ | 4-3 |+ | 2-1 |+ | 8-8 |= 3.

Вход - [1, 2, 4]
Выход - 1
Пояснение - Нулевое расстояние равноневозможно, потому что [1, 2, 4] не является «причудливым».
Одна из оптимальных «причудливых» последовательностей - это [1, 2, 3].
distance([1, 2, 4], [1, 2, 3]) = | 1-1 |+ | 2-2 |+ | 4-3 |= 1.

Ограничения

1 ≤ n ≤ 10^2 [Размер массива] 1 ≤ arr[i] ≤ 30 [То есть входной массив может иметь элементы со значениямив этом диапазоне]

У меня совершенно нет идей по этому вопросу.
Как мы можем решить это наиболее оптимальным способом?

...