测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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$ .

输入格式

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).

输入输出样例

输入 #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$ .
上一题 去做题 下一题