A10857. Two strings
编程题
普及/提高-
知识点
题目描述
You are given two strings $a$ and $b$ . You have to remove the minimum possible number of consecutive (standing one after another) characters from string $b$ in such a way that it becomes a subsequence of string $a$ . It can happen that you will not need to remove any characters at all, or maybe you will have to remove all of the characters from $b$ and make it empty.
Subsequence of string $s$ is any such string that can be obtained by erasing zero or more characters (not necessarily consecutive) from string $s$ .
Subsequence of string $s$ is any such string that can be obtained by erasing zero or more characters (not necessarily consecutive) from string $s$ .
输入格式
The first line contains string $a$ , and the second line — string $b$ . Both of these strings are nonempty and consist of lowercase letters of English alphabet. The length of each string is no bigger than $10^{5}$ characters.
输出格式
On the first line output a subsequence of string $a$ , obtained from $b$ by erasing the minimum number of consecutive characters.
If the answer consists of zero characters, output «-» (a minus sign).
If the answer consists of zero characters, output «-» (a minus sign).
输入输出样例
输入 #1
hi bob
输出 #1
-
输入 #2
abca accepted
输出 #2
ac
输入 #3
abacaba abcdcba
输出 #3
abcba
说明/提示
In the first example strings $a$ and $b$ don't share any symbols, so the longest string that you can get is empty.
In the second example ac is a subsequence of $a$ , and at the same time you can obtain it by erasing consecutive symbols cepted from string $b$ .
In the second example ac is a subsequence of $a$ , and at the same time you can obtain it by erasing consecutive symbols cepted from string $b$ .