QOJ.ac

QOJ

时间限制: 1 s 内存限制: 512 MB 总分: 100

#15529. ABCD 凶手

统计

Oscar 非常喜欢看犯罪电影。他很崇拜那些反派,因为他们中有些人非常有创意。他也想展示一下自己的创意。遗憾的是,他相当缺乏经验,无法想出自己的花招。所以他想从一些经典的花招中寻找灵感。他一直很喜欢看罪犯从报纸上剪下字母并拼凑成勒索信。然而,Oscar 不想完全照抄,所以他想出了这个花招的一个变种。他觉得逐个字母拼凑文本实在是太无聊且耗时了。因此,他决定通过剪下完整的单词来制作他的勒索信。

Oscar 买了几份主流报纸,因此他拥有几乎无限的纸张来源来剪下单词。他可以根据需要多次剪下任何特定的单词。然而,他仍然受到报纸中出现的单词集合的限制。问题是,有些单词在报纸上根本没有出现。为了让工作简单一点,他决定删除勒索信中的所有标点符号和所有空白字符,并忽略字符的大小写。他还允许剪下的单词相互重叠,只要重叠部分包含相同的文本即可。Oscar 现在想知道,他最少需要从报纸上剪下多少个单词才能拼凑出勒索信。

输入格式

第一行输入包含一个整数 $L$($1 \le L \le 3 \cdot 10^5$),表示在报纸中找到的单词数量。

下一行包含勒索信的文本。该文本非空,且仅由英文小写字母组成。其长度最多为 $3 \cdot 10^5$ 个字符。

接下来的 $L$ 行中,每行包含一个在报纸中出现的单词,由英文小写字母组成。这些单词均非空,且长度不超过勒索信的长度。报纸中出现的所有单词在输入中至少列出一次。所有单词的长度之和不超过 $3 \cdot 10^5$。

输出格式

输出 Oscar 拼凑出勒索信所需剪下的最少单词数量。如果无法拼凑出勒索信,则输出 $-1$。每个单词被从报纸上物理剪下多少次,就计算多少次。

样例

输入样例 1

3
aaaaa
a
aa
aaa

输出样例 1

2

输入样例 2

5
abecedadabra
abec
ab
ceda
dad
ra

输出样例 2

5

输入样例 3

9
icpcontesticpc
international
collegiate
programming
contest
central
europe
regional
contest
icpc

输出样例 3

3

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.