Ctrl K

Исходный массив по двум сдвигам

Сложная
Был массив base из n положительных целых чисел. Взяли положительное целое k и построили два массива: в одном каждое число уменьшили на k, в другом — увеличили на k. Затем все 2n чисел перемешали и получили массив mixed; откуда какое число, неизвестно. Восстановите base. Если подходит несколько значений k, используйте наименьшее из них — при фиксированном k массив base определяется однозначно. Числа можно вернуть в любом порядке. Гарантируется, что хотя бы одно подходящее k существует.
Пример 1
mixed=[9, 3, 13, 7] → [5, 11]

При k = 2 массив [5, 11] даёт [3, 9] и [7, 13]. Подходит и k = 3 ([6, 10]), но нужен наименьший k, а k = 1 не подходит.

Пример 2
mixed=[4, 4, 10, 10] → [7, 7]

Единственный вариант — k = 3 и исходный массив [7, 7]: пару 4, 4 нельзя получить, ведь k положительно.

Пример 3
mixed=[2, 100] → [51]
Ограничения
  • len(mixed) = 2n, 1 ≤ n ≤ 1000
  • 1 ≤ mixed[i] ≤ 10⁹
  • Подходящие base и k существуют
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиКрасота клумб на бюджете СложнаяЧисла-близнецы на два обмена СложнаяЗначения в обоих списках ЛёгкаяОбщие значения с повторами ЛёгкаяПодпоследовательность только одного слова Средняя
загружаем Python…
Вход
mixed=[9, 3, 13, 7]
Ожидается
[5, 11]

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 78 тестов на сервере, включая скрытые.