Олимпиадный тренинг

Задача . C. Две строки


Даны строки a и b. Требуется удалить наименьшее количество подряд идущих символов из строки b так, чтобы она стала подпоследовательностью строки a. Возможно, не придётся удалять ни одного символа, а, возможно, придётся удалить все символы из строки b, чтобы она стала пустой.

Подпоследовательностью строки s называется любая такая строка, которую можно получить вычёркиванием из s нуля или более символов (не обязательно идущих подряд).

Входные данные

Первая строка входных данных содержит строку a, а вторая — строку b. Обе строки непустые и состоят из строчных букв латинского алфавита. Длина каждой из строк не превосходит 105 символов.

Выходные данные

В единственной строке выведите подпоследовательность строки a, получившуюся в результате удаления из строки b наименьшего количества подряд идущих символов.

Если ответ содержит нулевое количество символов, выведите «-» (знак минус).

Примечание

В первом примере строки a и b вообще не имеют общих символов, поэтому наидлиннейшая строка, которую можно получить — пустая.

Во втором примере ac является подпоследовательностью строки a, в то же время эту строку можно получить, удалив последовательно идущие символы cepted из строки b.


Примеры
Входные данныеВыходные данные
1 hi
bob
-
2 abca
accepted
ac
3 abacaba
abcdcba
abcba

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w644
Комментарий учителя