AT_abc303_d [ABC303D] Shift vs. CapsLock
题目描述
你的电脑键盘上有三种按键:a 键、Shift 键和 CapsLock 键。CapsLock 键上带有一个指示灯。最开始时,CapsLock 键的指示灯为关闭状态,电脑屏幕上显示的是空字符串。
你可以无限次地选择并执行以下三种操作中的一种,每次操作可以执行 $0$ 次或多次。
- 用 $X$ 毫秒按下 a 键。如果 CapsLock 指示灯为关闭,则在屏幕字符串末尾添加 `a`,如果为开启,则添加 `A`。
- 用 $Y$ 毫秒同时按下 Shift 键和 a 键。如果 CapsLock 指示灯为关闭,则在屏幕字符串末尾添加 `A`,如果为开启,则添加 `a`。
- 用 $Z$ 毫秒按下 CapsLock 键。如果 CapsLock 指示灯为关闭,则切换为开启;如果为开启,则切换为关闭。
给定一个只由 `A` 和 `a` 组成的字符串 $S$,请你求出将屏幕上的字符串变为 $S$ 所需的最短时间(单位为毫秒)。
输入格式
输入以以下格式从标准输入中给出。
> $X$ $Y$ $Z$ $S$
输出格式
请输出答案。
说明/提示
## 限制条件
- $1 \leq X, Y, Z \leq 10^9$
- $X, Y, Z$ 均为整数
- $1 \leq |S| \leq 3 \times 10^5$
- $S$ 仅由 `A` 和 `a` 组成
## 样例解释 1
如下操作可以在 $9$ 毫秒内将屏幕字符串变为 `AAaA`,且这是所需的最短时间。
- 用 $Z(=3)$ 毫秒按下 CapsLock 键,指示灯变为开启。
- 用 $X(=1)$ 毫秒按下 a 键,屏幕字符串末尾添加 `A`。
- 用 $X(=1)$ 毫秒按下 a 键,屏幕字符串末尾添加 `A`。
- 用 $Y(=3)$ 毫秒同时按下 Shift 键和 a 键,屏幕字符串末尾添加 `a`。
- 用 $X(=1)$ 毫秒按下 a 键,屏幕字符串末尾添加 `A`。
由 ChatGPT 4.1 翻译