上面挂满我的所有祝福
题目背景
在巴黎奥运会上,中国代表团取得了 \(40\) 金 的好成绩,于是 Banana 给所有中国运动员送出了祝福。
题目描述
Banana 的祝福可以看作一个由小写字母组成的字符串。现在,Banana 要从他的 \(n\) 个祝福里选若干个送出。
Banana 定义两个祝福 \(X\) 和 \(Y\) 相似,当且仅当他们满足下面条件中的至少一个:
- \(X\) 是 \(Y\) 的子串。
- \(Y\) 是 \(X\) 的子串。
- 存在另一个祝福 \(Z\),使得 \(X\) 和 \(Z\) 相似且 \(Y\) 和 \(Z\) 相似。
为了使祝福的效果最大化,Banana 不能同时送出两个相似的祝福。
另外,每个祝福都有一个祝福值,其中第 \(i\) 个祝福的祝福值为 \(a_i\)。
现在 Banana 想知道他能送出的最大祝福值是多少。
输入格式
第一行一个整数表示 \(n\)。
第二行 \(n\) 个整数 \(a_i\)。
接下来 \(n\) 行,第 \(i\) 行一个字符串 \(S_i\) 表示一个祝福。
输出格式
一行一个整数表示答案。
样例
输入样例 #1
5
1 2 3 4 5
aa
aaa
aaaa
bbb
bbbb
输出样例 #1
8
数据范围
\(1\leq n\leq 3\times 10^4\),\(1\leq \sum |S_i|\leq 10^5\),\(1\leq a_i\leq 10^9\)
信息
- ID
- 1004
- 难度
- 5
- 分类
- (无)
- 标签
- 递交数
- 6
- 已通过
- 1
- 通过率
- 17%
- 上传者