Проснись, Билли
Автор задачи: Spectator aka Алтухов Дмитрий
Задачу добавил: Spectator
Успешно сдано решений: 0
Тянулась долгая ночь… Было около пяти часов утра. Утомлённый работой на компьютере, Билли откинулся от экрана на спинку кресла. Расслабленно вздохнув, он уставился в потолок. Внезапно краем глаза он уловил какое-то движение на мониторе. Взглянув на монитор, он увидел окошко антивируса. Антивирус гласил: «Внимание! Обнаружен вирус! Тип: Операционная система. Название: Linux.». Как только Билли прочёл последнюю строчку, окошко антивируса исчезло, и по экрану поплыли какие-то строки с текстом. Часть текста была просто какой-то белибердой, но иногда проскакивало несколько строчек, оповещавших об удалении системных файлов. Билли постепенно впадал в панику. Очень скоро Linux может совсем загубить операционную систему последней версии на его компьютере! Билли совсем скоро оказался бы на грани нервного срыва, но сквозь плывущие по экрану строки он рассмотрел отчётливую надпись ‘Wake_up,_Billy’. «Это всего лишь сон!» – промелькнуло у Билли в сознании. И он незамедлительно принялся писать программу. Вам нужно определить время, за которое Билли напишет программу, с помощью которой он сможет проснуться.
В самом начале задачи задаются основные параметры, такие, как количество символов в программе Билли (2<=Sn<=256); время, через которое на экране появляется новая строка с текстом (1<=Ts<=20); время, которое требуется Билли, чтобы напечатать один символ программы (1<=Tk<=10); а также время, на которое увеличивается количество времени, требующееся Билли для написания каждого символа (0<=Tn<=10). Последний параметр уменьшает скорость печатания Билли в том случае, когда он видит сообщение об очередном удалении системного файла. Далее идут строки текста, появляющиеся на мониторе Билли (1<=кол-во строк<=256).
Если Билли видит строчку с текстом ‘Wake_up,_Billy’ (точно так, с большими буквами, но без кавычек), то сразу же начинает печатать программу. Если Билли видит строчку с текстом ‘System_files_deleted’, то он начинает нервничать и время, требуемое для нажатия на одну клавишу, увеличивается на Tn. Если же Билли видит строчку с текстом ‘XAHA_completed’ (слово XAHA написано английскими буквами: x-a-h-a, если кто не понял), то система уничтожается и Билли просыпается с очень плохим настроением. Если Билли заканчивает свою программу одновременно с крахом системы, то считается, что Билли всё же успел написать программу и нормально проснуться. Если выведено сообщение, что системный файл удалён, а Билли ещё не успел нажать на клавишу, то к оставшемуся на это времени прибавляется Tn.
Вам требуется вывести на экран слово ‘YES’ и через пробел время, которое потратил Билли на написание программы в том случае, когда система ещё не обрушилась. Если система обрушилась, а Билли не успел дописать программу, то вывести ‘NO’.
В первой строке через пробел задаются значения Sn, Ts, Tk, Tn.
В каждой следующей строке содержится очередная строка с текстом.
Пример входных данных:
Wake_up,_Billy
Test#1_will_be_the_same
System_files_deleted
But_I_did_not_want_it
XAHA_completed
Пример выходных данных:
YES 12