eolymp
bolt
Try our new interface for solving problems
Problems

Dr. House in the morgue

Dr. House in the morgue

Герой популярного телесериала доктор Хаус в очередной раз разыграл свою начальницу, доктора Кадди, и она решила немного наказать - разыграть его. Для этого она хочет отправить Хауса в морг рассортировать трупы, лежащие в нумерованных ячейках. Трупы бывают трёх типов мужские (обозначим их буквой \textbf{m}), женские (\textbf{f}) и детские (\textbf{с}). От Хауса требуется, чтобы сначала лежали все детские трупы, после них -- все женские, и только потом -- мужские. Напомним, что доктор Хаус -- инвалид с больной ногой, и таскать трупы (даже на каталках) ему нелегко. Поэтому сердобольная доктор Кадди решила проверить, какое минимальное число перекладок трупов ему придётся совершить (зная доктора Хауса как весьма неглупого человека, она догадывается, что он будет действовать оптимальным образом). По её просьбе санитар проверил содержимое ячеек и посчитал трупы. В представленном санитаром документе указано, сколько трупов какого типа лежат в ячейках подряд. Теперь Лизе Кадди осталось только написать соответствующую программу, для чего она решила нанять вас. Не желая раскрывать секрет своего розыгрыша (вдруг вы тоже поклонники Хауса), она формулирует для вас следующее задание. Дана последовательность букв, в которой буквы всего трех типов: \textbf{c}, \textbf{f}, \textbf{m}. При этом для сокращения записи последовательность задана блоками одинаковых символов, идущих подряд. Требуется определить минимальное число перестановок букв, которое необходимо для упорядочивания последовательности по возрастанию кода буквы. \InputFile В первой строке одно натуральное число \textbf{N}\textit{ }(\textbf{1} ≤ \textbf{N} ≤ \textbf{1000}). Далее \textbf{N}\textit{ }строк,\textit{ }в каждой из которых описание блока: буква ('\textbf{c}', '\textbf{f}' или '\textbf{m}'), из которой состоит данный блок, и через пробел натуральное число \textbf{K}\textit{ }(\textbf{1} ≤ \textbf{K}\textit{ }≤ \textbf{1000}) -- размер блока. \OutputFile В первой строке одно число -- требуемое минимальное количество перестановок.
Time limit 1 second
Memory limit 64 MiB
Input example #1
3
f 3
m 3
c 3
Output example #1
6