text, строка pattern, которая является подпоследовательностью text, и возрастающий список marked из различных индексов строки text.
Редактор разрешает стирать буквы только на отмеченных позициях — по одной за раз — и только так, чтобы после каждого стирания pattern всё ещё оставался подпоследовательностью текста. Стёртая буква оставляет пустое место: индексы остальных букв не сдвигаются.
Верните, сколько букв можно стереть максимум.
Напомним: строка p — подпоследовательность строки t, если p получается из t удалением некоторых символов без изменения порядка оставшихся.text='banana', pattern='ban', marked=[1, 2, 3, 5] → 3
Можно стереть позиции 1 и 2: останется «b__ana», и «ban» по-прежнему читается через b, a (позиция 3) и n (позиция 4). Стереть ещё и позицию 3 нельзя: a после b останется только на позиции 5, а за ней n уже нет. Позицию 5 можно стереть всегда. Итого 3.
text='code', pattern='code', marked=[0, 3] → 0
Шаблон совпадает с текстом, поэтому ни одну букву стереть нельзя.
text='xaxbx', pattern='ab', marked=[0, 2, 4] → 3
Все отмеченные позиции — буквы x, которые шаблону не нужны, — их можно стереть все.
marked строго возрастает, 0 ≤ marked[i] < len(text)text и pattern состоят из строчных латинских буквpattern — подпоследовательность texttext='banana', pattern='ban', marked=[1, 2, 3, 5]
3
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 72 теста на сервере, включая скрытые.