选择字符串
题目描述
给你 N 个由小写英文字母组成的字符串 S1,S2,…,SN 和 N 个正整数 A1,A2,…,AN。
若集合 T⊆{1,2,…,N} 中不存在 i,j∈T(i=j)使得 Si 是 Sj 的子串,则称 T 是好的集合。
求好的集合 T 所对应的 i∈T∑Ai 的最大可能值。
什么是子串?
字符串 S 的子串,是指从 S 的开头删除任意(可为 0 个)字符、并从结尾删除任意(可为 0 个)字符后得到的字符串。
例如,ab 是 abc 的子串,但 ac 不是 abc 的子串。
输入格式
输入按以下格式从标准输入给出:
N
S1
S2
⋮
SN
A1 A2 … AN
输出格式
输出答案。
样例
4
atcoder
at
coder
code
5 2 3 4
6
可能的好的集合 T 及其对应的 i∈T∑Ai 如下:
- T={1}:i∈T∑Ai=5
- T={2}:i∈T∑Ai=2
- T={3}:i∈T∑Ai=3
- T={4}:i∈T∑Ai=4
- T={2,3}:i∈T∑Ai=5
- T={2,4}:i∈T∑Ai=6
其中最大的是 6,因此输出 6。
10
abcd
abc
ab
a
b
c
d
ab
bc
cd
100 10 50 30 60 90 80 70 40 20
260
数据范围
- 1≤N≤100
- Si 是由小写英文字母组成的字符串
- 1≤∣Si∣
- ∣S1∣+∣S2∣+…+∣SN∣≤5000
- 1≤Ai≤109