Ctrl K

Наборы без заданного разрыва

Средняя
Дан массив различных натуральных чисел values и число gap. Назовём набор элементов массива *спокойным*, если в нём нет двух чисел, разность которых равна ровно gap. Пустой набор тоже спокойный. Верните количество спокойных наборов (подмножеств values).
Пример 1
values=[3, 6, 9], gap=3 → 5

Всего 8 наборов. Запрещены те, где есть 3 и 6 или 6 и 9: {3, 6}, {6, 9}, {3, 6, 9}. Остаётся 5: {}, {3}, {6}, {9}, {3, 9}.

Пример 2
values=[1, 10, 4], gap=2 → 8

Ни у одной пары разность не равна 2, поэтому подходят все 2³ = 8 наборов.

Пример 3
values=[7, 2, 5, 12, 4], gap=5 → 20
Ограничения
  • 1 ≤ len(values) ≤ 50
  • 1 ≤ values[i] ≤ 1000
  • Все values[i] различны
  • 1 ≤ gap ≤ 1000
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиНаборы без заданной разницы СредняяКрайние значения маленьких групп СредняяЦепочка кратных СредняяПодмножества с нечётной суммой СредняяНаибольшее число, кратное трём Сложная
загружаем Python…
Вход
values=[3, 6, 9], gap=3
Ожидается
5

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