#P15221. [SWERC 2017] Candy Chain

[SWERC 2017] Candy Chain

说明

糖果链是由单个糖果组成的序列。糖果有 26 种不同的口味,用小写字母 aazz 表示。Margot 在她的店里展示了一条特别精美的糖果链。

放学后,孩子们会来到她这里购买糖果链的一部分。每个孩子有不同的偏好。例如,有一个孩子喜欢口味序列为 ababiababi 的部分,并愿意为此支付 3 欧元。另一个孩子喜欢口味序列为 axsaaxsa 的部分,并愿意支付 5 欧元。

Margot 可以从糖果链中截取部分糖果卖给孩子们。当她截取一部分后,她会将糖果链剩余的左右部分连接起来,然后可以继续为其他孩子截取更多部分,或者决定停止。

相同的口味序列可以多次卖给同一个孩子(只要 Margot 能够从她的糖果链中多次截取出该序列)。如果 Margot 无法卖出某些糖果,她绝不会丢弃它们。在出售时,她可以将糖果部分反转(例如,axsaaxsaasxaasxa 是等价的)。Margot 不必为所有孩子服务,也不必须以任何特定顺序服务孩子们。

你的任务是帮助 Margot 计算她能从糖果链中获得的最大收益。

输入格式

  • 第一行表示 Margot 的糖果链,是一个非空字符串。
  • 第二行包含孩子数量,一个整数 CC
  • 接下来的 CC 行表示每个孩子的偏好,每行包含两个用空格分隔的部分:他或她喜欢的糖果部分,用一个非空字符串表示;以及他或她愿意支付的金额,用一个整数 PiP_i 表示。

输出格式

一个整数:Margot 能够获得的最大收益。

acmicpcxxxacmzacmzacmzmca
5
icpc 5
cpci 1
acm 2
acmacm 10
xxx 0
21

提示

数据范围

  • Margot 的糖果链以及每个孩子喜欢的糖果部分最多由 50 个糖果组成;
  • 1C2001 \leq C \leq 200
  • 对于所有 1iC1 \leq i \leq C0Pi10000000 \leq P_i \leq 1\,000\,000
  • 所有字符串仅由小写字符 aazz 组成。

翻译由 DeepSeek 完成