#aBC303D. [ABC303D] Shift vs. CapsLock

[ABC303D] Shift vs. CapsLock

AT_abc303_d [ABC303D] Shift vs. CapsLock

题目描述

你的电脑键盘上有三种按键:a 键、Shift 键和 CapsLock 键。CapsLock 键上带有一个指示灯。最开始时,CapsLock 键的指示灯为关闭状态,电脑屏幕上显示的是空字符串。

你可以无限次地选择并执行以下三种操作中的一种,每次操作可以执行 00 次或多次。

  • XX 毫秒按下 a 键。如果 CapsLock 指示灯为关闭,则在屏幕字符串末尾添加 a,如果为开启,则添加 A
  • YY 毫秒同时按下 Shift 键和 a 键。如果 CapsLock 指示灯为关闭,则在屏幕字符串末尾添加 A,如果为开启,则添加 a
  • ZZ 毫秒按下 CapsLock 键。如果 CapsLock 指示灯为关闭,则切换为开启;如果为开启,则切换为关闭。

给定一个只由 Aa 组成的字符串 SS,请你求出将屏幕上的字符串变为 SS 所需的最短时间(单位为毫秒)。

输入格式

输入以以下格式从标准输入中给出。

XX YY ZZ SS

输出格式

请输出答案。

输入输出样例 #1

输入 #1

1 3 3
AAaA

输出 #1

9

输入输出样例 #2

输入 #2

1 1 100
aAaAaA

输出 #2

6

输入输出样例 #3

输入 #3

1 2 4
aaAaAaaAAAAaAaaAaAAaaaAAAAA

输出 #3

40

说明/提示

限制条件

  • 1X,Y,Z1091 \leq X, Y, Z \leq 10^9
  • X,Y,ZX, Y, Z 均为整数
  • 1S3×1051 \leq |S| \leq 3 \times 10^5
  • SS 仅由 Aa 组成

样例解释 1

如下操作可以在 99 毫秒内将屏幕字符串变为 AAaA,且这是所需的最短时间。

  • Z(=3)Z(=3) 毫秒按下 CapsLock 键,指示灯变为开启。
  • X(=1)X(=1) 毫秒按下 a 键,屏幕字符串末尾添加 A
  • X(=1)X(=1) 毫秒按下 a 键,屏幕字符串末尾添加 A
  • Y(=3)Y(=3) 毫秒同时按下 Shift 键和 a 键,屏幕字符串末尾添加 a
  • X(=1)X(=1) 毫秒按下 a 键,屏幕字符串末尾添加 A

由 ChatGPT 4.1 翻译