Трансфигурация
Ограничения: время – 250ms/500ms, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Среди студентов Хогвартса популярна следующая игра.
Игрок получает несколько карточек с буквами от A до Z
и может несколько букв с помощью трасфигурации превратить в другие,
но не более `K` букв. Затем он подсчитывает очки.
За каждую букву от A до Z игрок получает количество очков, равное квадрату их количества.
Игрок получает дополнительные очки за количество слов "PRIME", которые он может выложить
из своих карточек. Дополнительные очки рассчитываются как квадрат количества таких слов,
умноженный на `M`.
Определите максимальное количество очков, которые игрок может получить.
Первая строка ввода содержит два целых числа -- ограничение на количество трансфигураций `K` (`0 <= K <= 10000`)
и множитель для дополнительных очков `M` (`1 <= M <= 1000`). Вторая строка ввода
содержит от 1 до 10000 прописных латинских букв от A до Z -- буквы на карточках.
Вывести одно целое число -- максимальное количество очков.
```sample Пример ввода 1
1 10
PRIMERAAAAA
```
```sample Пример вывода 1
51
```
```sample Пример ввода 2
6 100
PRIMERAAAAA
```
```sample Пример вывода 2
425
```
Пояснение к примеру: После трансфигурации 5 букв получаем PRIMERIMEPR `100*2^2` (PRIME) `+2^2` (P) `+3^2` (R) `+2^2` (I) `+2^2` (M) `+2^2` (E)=425