values, в котором встречаются только числа 0, 1 и 2. Назовём лесенкой последовательность, в которой сначала идёт хотя бы один ноль, затем хотя бы одна единица, затем хотя бы одна двойка — и больше ничего. Например, [0, 1, 2] и [0, 0, 1, 2, 2] — лесенки, а [0, 2] и [0, 1, 2, 1] — нет.
Подпоследовательность получается вычёркиванием из массива некоторых элементов без изменения порядка остальных. Две подпоследовательности различны, если различаются наборы выбранных индексов.
Верните количество подпоследовательностей values, которые являются лесенками, по модулю 10⁹ + 7.values=[0, 0, 1, 2] → 3
Единица и двойка берутся обязательно, а из нулей можно взять первый, второй или оба: [0, 1, 2], [0, 1, 2] и [0, 0, 1, 2]. Ответ 3.
values=[1, 2, 0] → 0
Единственный ноль стоит после единицы и двойки, лесенку не собрать — ответ 0.
values=[0, 1, 1, 2, 2] → 9
Из двух единиц можно взять непустой набор тремя способами, из двух двоек — тоже тремя: 3 · 3 = 9.
values=[0, 0, 1, 2]
3
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 131 тест на сервере, включая скрытые.