Ограничение по времени: 2.000 секунд
Ограничение по памяти: 500.000 мегабайт
Работая над импортозамещением Контур решил создать свою IDE. Одна из фич - ограничение максимальной длины текста в строке. Вам необходимо реализовать алгоритм, который определит какой максимальной длины строка получалась в течение набора текста, если вам известно, какие клавиши и в каком порядке нажимал пользователь.
На вход подаётся строка из различных символов — последовательность кнопок на клавиатуре, которые нажимал пользователь. Переводы строк заменены на символ \
.
Первые версии IDE поддерживали три управляющие команды, которые закодированы следующим образом:
<
— удаление предыдущего символа (если курсор находится в начале строки, и эта строка не первая, то удаляется предшествующий перевод строки);^
— перемещение в конец предыдущей строки (игнорируется, если курсор находится на первой строке);|
— перемещение в конец следующей строки (игнорируется, если курсор находится на последней строке).Все остальные символы, содержащиеся в файле, имеют коды от 32 (пробел) и выше и должны пониматься как есть. Количество нажатий клавиш не превосходит 100000.
Выведите одно целое число — максимальную длину строки, которая была достигнута в течение работы редактора.
input | output |
---|---|
Hello, World???<<<! |
15 |
Hello, World?\This is^<!!!| a sample. |
17 |