Ctrl K

Стесать простыми до возрастания

Средняя
Дан массив положительных целых чисел values. Каждый элемент можно не более одного раза «стесать»: выбрать простое число p, строго меньшее этого элемента, и вычесть его. Можно ли так обработать какие-то элементы (или ни одного), чтобы массив стал **строго возрастающим**? Верните True или False. Простое число больше 1 и делится только на 1 и на себя.
Пример 1
values=[10, 6, 9, 7] → True

Из 10 вычтем 7 → 3, из 6 вычтем 2 → 4, из 9 вычтем 3 → 6, 7 оставим: [3, 4, 6, 7].

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

Последний элемент не больше 2, значит предыдущий должен стать 1, а самый первый — меньше 1, что невозможно.

Пример 3
values=[1, 3, 8] → True

Массив уже строго возрастает, ничего вычитать не нужно.

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

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