AT_abc149_d [ABC149D] Prediction and Restriction
题目描述
高桥君决定在游戏中心玩一款名为“猜拳对战”的游戏。该游戏的规则如下:
- 玩家将与机器进行 $N$ 次猜拳(即使平局也算作一次猜拳)。
- 玩家在猜拳中获胜时,会根据所出的手势获得如下分数(平局或失败得 $0$ 分):
- 用石头获胜时,得 $R$ 分;
- 用剪刀获胜时,得 $S$ 分;
- 用布获胜时,得 $P$ 分。
- 但是,不能出与恰好 $K$ 次前所出的手势相同的手势(前 $K$ 次猜拳可以任意出手)。
机器在每一轮猜拳中要出的手势在游戏开始前就已确定。高桥君作为能力者,在游戏开始前已经全部读取了这些信息。
高桥君读取到的信息以字符串 $T$ 的形式给出。$T$ 的第 $i$ 个字符($1 \leq i \leq N$)为 `r` 时表示第 $i$ 次猜拳机器出石头,为 `s` 时表示出剪刀,为 `p` 时表示出布。
高桥君在 $N$ 次猜拳中最优选择出手方式时,最多能获得多少分?
输入格式
输入以如下格式从标准输入读入:
> $N$ $K$ $R$ $S$ $P$ $T$
输出格式
输出可以获得的最大总分。
说明/提示
## 限制条件
- $2 \leq N \leq 10^5$
- $1 \leq K \leq N-1$
- $1 \leq R, S, P \leq 10^4$
- $N, K, R, S, P$ 均为整数。
- $|T| = N$
- $T$ 仅包含 `r`、`s`、`p` 三种字符。
## 样例解释 1
机器依次出 {石头、剪刀、石头、布、石头}。例如,如果依次出 {布、石头、石头、剪刀、布},可以获得 $27$ 分。无法获得更高的分数,因此输出 $27$。
由 ChatGPT 4.1 翻译