AT_tenka1_2016_final_c たんごたくさん
题目描述
给定一个字符串 $S$,以及一个包含 $M$ 个单词的集合 $P=\{P_1, P_2, \ldots, P_M\}$。每个单词 $P_i$ 都有一个整数权重 $W_i$。
现在你需要从字符串 $S$ 中取出若干属于集合 $P$ 的单词,要求这些单词在 $S$ 中不能重叠。请问,在取出的单词权重总和最大的情况下,这个最大值是多少?
注意,如果同一个单词被取出多次,每次都要分别计数。
输入格式
输入通过标准输入给出,格式如下:
> $S$ $M$ $P_1$ : $P_M$ $W_1$ : $W_M$
输出格式
请输出单词权重总和的最大值,输出一行。
说明/提示
## 限制条件
- $1 \leq |S| \leq 200000$
- $1 \leq M \leq 5000$
- $1 \leq |P_i| \leq 200$
- $1 \leq W_i \leq 10000$
- $S$ 和 $P_i$ 均为仅由小写英文字母组成的字符串。
由 ChatGPT 4.1 翻译