AT_jsc2019_final_e Nearest String

题目描述

高桥君可以对字符串 $a$ 进行以下两种操作: - 删除 $a$ 的首位或末尾的 $1$ 个字符。该操作的花费为 $X$。 - 在 $a$ 的末尾添加任意 $1$ 个字符。该操作的花费为 $Y$。 现在高桥君有 $N$ 个字符串 $S_0,S_1,\cdots,S_{N-1}$。高桥君的朋友青木君会向他提出 $Q$ 个问题。 - 第 $i$ 个问题($0 \leq i \leq Q-1$):青木君给出字符串 $T_i$。请你计算,将 $T_i$ 通过上述操作反复变换,使其与高桥君拥有的 $N$ 个字符串中的某一个完全相同,所需的最小花费。 请你代替忙碌的高桥君,编写程序回答这些问题。

输入格式

输入通过标准输入给出,格式如下: > $N$ $Q$ $X$ $Y$ > $S_0$ > $S_1$ > $\vdots$ > $S_{N-1}$ > $T_0$ > $T_1$ > $\vdots$ > $T_{Q-1}$

输出格式

输出 $Q$ 行。第 $i+1$ 行($0 \leq i \leq Q-1$)输出第 $i$ 个问题的答案。

说明/提示

### 约束条件 - $1 \leq N \leq 10^5$ - $1 \leq Q \leq 10^5$ - $1 \leq X, Y \leq 10^9$ - $1 \leq |S_i|$ - $\sum_{i=0}^{N-1} |S_i| \leq 5 \times 10^5$ - $S_i \neq S_j$($i \neq j$) - $1 \leq |T_i|$ - $\sum_{i=0}^{Q-1} |T_i| \leq 5 \times 10^5$ - $T_i \neq T_j$($i \neq j$) - 所有输入的数均为整数。 - 所有输入的字符串均为小写英文字母组成。 ### 样例说明 1 例如,考虑第 $2$ 个问题,可以按如下方式操作最优: - 删除 `abc` 的首字母,得到 `bc`,花费 $4$。 - 在 `bc` 的末尾添加 `d`,得到 `bcd`,花费 $2$。 由 ChatGPT 4.1 翻译