点菜
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
点菜
题目描述
奶龙在点菜, 它指着菜单 , 说了一句话 . 其中 是包含一系列的字符串的字典, 每个字符串是一道菜名. 是一个字符串.
老板需要根据奶龙说的话确认他点的菜, 由于大家点菜时都喜欢用简称, 如点 "鸡蛋肠粉" 时, 只需要说 "鸡蛋肠", 点 "百事可乐", 只需要说 "百事", 所以只要说出 中某道菜名的前缀, 就可以认为是点了一道菜。具体地, 老板需要将字符串 划分为若干段,使得每一段是 中某个字符串的前缀.
对于 的每个位置 , 有一个价格 . 如果一道菜以 结尾则需要支付 的价格. ( 可能为负值)
奶龙想知道, 他说出 的前 个字符后, 他需要支付的最少价格是多少. 请你对于所有 , 求出 的长度为 的前缀在经过老板划分后, 奶龙支付的最小代价。
输入格式
第一行包含两个整数 和 ,表示字符串 的长度和菜单 中菜名的数量。
第二行是长度为 的字符串 . 第三行包含 个整数,表示每个位置的 . 接下来 行, 每行一个字符串,每个字符串为菜单中的菜名.
输出格式
输出 行,共计 个整数,表示奶龙说出 的前 位后需要支付的最少价格。
如果老板不存在方法将其划分为若干菜名的前缀,则输出 noway
.
样例 #1
样例输入 #1
5 3
abcde
1 -1 -2 -3 4
abc
de
abcde
样例输出 #1
1
-1
-2
-5
2
样例 #2
样例输入 #2
5 4
abaea
1 -1 100 -3 4
ab
ac
c
b
样例输出 #2
1
-1
99
noway
noway
数据范围
对 的数据:
- 字符串 的长度 满足 。
- 菜单中的菜名数量 满足 ,每个菜名长度不超过 ,总长度 不超过 。
- 。
- 菜单 中的所有菜名均为非空字符串。
- 和 的字符集均为小写英文字母。
Subtask 1 10pts
- 菜单的总长度
Subtask 2 20pts
- 保证菜单中每个菜名长度不超过
Subtask 3 30pts
- 菜单的总长度
Subtask 4 40 pts
- 无额外保证
[YDRS#011 + YDRB#005] 欢欢喜喜过大年 · 2025 云斗新年挑战赛
- 状态
- 已结束
- 规则
- IOI(严格)
- 题目
- 9
- 开始于
- 2025-1-25 9:30
- 结束于
- 2025-1-28 22:30
- 持续时间
- 6 小时
- 主持人
- 参赛人数
- 184