Educational Codeforces Round 9 |
---|
Закончено |
Бабушка Лаура пошла на базар продавать яблоки, и за день ей посчастливилось продать все свои яблоки до последнего. Но бабушка очень старая, память у неё уже не та, и она забыла сколько яблок брала с собой на базар.
Она точно помнит, что у неё было n покупателей, и каждый из них, купил ровно половину тех яблок, которые были у бабушки на тот момент, а некоторым из них, она даже подарила ещё половинку яблока (если количество яблок на момент покупки было нечётным). И так до тех пор, пока яблоки не закончились совсем.
Таким образом, каждый покупатель забрал с собой целое положительное количество яблок, но при этом мог не заплатить за одну половинку яблока (если яблок на тот момент было нечётное количество).
Про каждого покупателя бабушка помнит дарила она ему половинку яблока или нет. Cтоимость одного яблока равна p (число p чётно).
Нужно вывести сумму денег, которая должна оказаться у бабушки в конце дня, чтобы она могла проверить, обсчитал ли её кто-то или нет.
В первой строке заданы целые числа n и p (1 ≤ n ≤ 40, 2 ≤ p ≤ 1000) — количество покупателей и цена одного яблока. Гарантируется, что число p чётно.
Далее следует n строк, описывающих покупателей в порядке их прихода. Каждый покупатель описан как half если он просто купил половину яблок, или halfplus, если бабушка вдобавок подарила ему ещё половинку яблока.
Гарантируется, что у бабушки изначально было хотя бы одно яблоко, а в конце дня яблок не осталось.
Выведите целое число a — количество денег, которое должно быть у бабушки в конце дня.
Обратите внимание, что ответ может не поместиться в 32-битном типе данных. Для сохранения числа вы можете использовать, например, тип long long в языке C++ или тип long в языке Java.
2 10
half
halfplus
15
3 10
halfplus
halfplus
halfplus
55
В первом примере у бабушки изначально было два яблока. Сначала она продала одно яблоко, а затем продала и подарила по половинке второго яблока второму покупателю.
Название |
---|