Ctrl K

Собрать единицу

Сложная
Дан массив положительных целых чисел values. Можно выбрать любые его элементы, умножить каждый выбранный на любое целое число (в том числе отрицательное) и сложить результаты. Верните True, если так можно получить ровно 1, и False иначе.
Пример 1
values=[6, 10, 15] → True

6·1 + 10·1 + 15·(−1) = 1.

Пример 2
values=[4, 8, 14] → False

Все числа чётные, поэтому любая такая сумма тоже чётная и не может быть равна 1.

Пример 3
values=[1000000000, 999999999] → True

1000000000·1 + 999999999·(−1) = 1.

Ограничения
  • 1 ≤ len(values) ≤ 10⁵
  • 1 ≤ values[i] ≤ 10⁹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСамая большая группа с общими делителями СложнаяГорода, связанные большими делителями СложнаяБлижайший взаимно простой предок СложнаяРазличные НОД наборов СложнаяСортировка обменами по общему делителю Сложная
загружаем Python…
Вход
values=[6, 10, 15]
Ожидается
True

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