12095. Набрати текст


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python

Ваш комп’ютер має клавіатуру з трьома клавішами: клавіша «a», клавіша Shift і клавіша Caps Lock. На клавіші Caps Lock горить індикатор. Спочатку індикатор клавіші Caps Lock не світиться, а на екрані відображається порожній рядок.

Ви можете виконати наступні три дії будь-яку кількість разів у будь-якому порядку:

  • Витратьте \(X\) мілісекунд, щоб натиснути лише клавішу «a». Якщо індикатор клавіші Caps Lock не світиться, до рядка на екрані додається a; якщо він увімкнений, то A.
  • Витратьте \(Y\) мілісекунд, щоб одночасно натиснути клавішу «a» та клавішу Shift. Якщо індикатор клавіші Caps Lock не світиться, A додається до рядка на екрані; якщо він увімкнений, то a.
  • Витратьте \(Z\) мілісекунд, щоб натиснути клавішу Caps Lock. Якщо індикатор на клавіші Caps Lock не горить, він увімкнеться; якщо він увімкнений, він вимикається.

Дано рядок \(S\), що складається з A і a. Визначте мінімальну кількість мілісекунд, які треба витратити, щоб рядок, показаний на екрані, дорівнював \(S\).

Обмеження

  • \(1≤X,Y,Z≤10^9\)
  • \(X, Y\) і \(Z\) є цілі числа.
  • \(1≤∣S∣≤3×10^5\)
  • \(S\) — рядок, що складається з A і a.

Формат вхідних даних

Перший рядок містить цілі числа \(X,Y,Z\).

Наступний   рядок містить \(S\).

Формат вихідних даних

У вихідний потік виведіть відповідь.

Приклад вхідних даних

1 3 3
AAaA

Приклад вихідних даних

9

Наступна послідовність дій робить рядок на екрані рівним AAaA за 9 мілісекунд, що є найкоротшим із можливих.

  • Витратьте Z(=3) мілісекунд, щоб натиснути клавішу CapsLock. Засвітиться індикатор клавіші Caps Lock.
  • Витратьте X(=1) мілісекунд, щоб натиснути клавішу «a». A додається до рядка на екрані.
  • Витратьте X(=1) мілісекунд, щоб натиснути клавішу «a». A додається до рядка на екрані.
  • Витратьте Y(=3) мілісекунд, щоб одночасно натиснути клавіші Shift і «a». a додається до рядка на екрані.
  • Витратьте X(=1) мілісекунд, щоб натиснути клавішу «a». A додається до рядка на екрані.

Приклад вхідних даних

1 1 100
aAaAaA

Приклад вихідних даних

6

Приклад вхідних даних

1 2 4
aaAaAaaAAAAaAaaAaAAaaaAAAAA

Приклад вихідних даних

40

Коментарі

Ще немає коментарів.