Codeforces Round 545 (Div. 1) |
---|
Закончено |
В известной на всю страну Весенней компьютерной школе скоро начнется новая смена, и в связи с этим весь дружный состав преподавателей и кураторов начал составлять ее расписание. В процессе обсуждения они пришли к расписанию $$$s$$$, которое может быть представлено в виде бинарной строки, в которой на $$$i$$$-й позиции стоит «1», если ученики в $$$i$$$-й день пишут контест, и «0», если отдыхают.
В последний момент на заседание пришел Глеб и заявил, что если смена в школе проходит по расписанию $$$t$$$ (которое может быть описано в таком же формате, что и $$$s$$$), то ученики особенно хорошо усваивают материал. Поскольку количество дней в грядущей смене может отличаться от количества дней в $$$t$$$, Глеб потребовал, чтобы уже составленное расписание переделали таким образом, чтобы количество вхождений $$$t$$$ в него как подстроки было максимально. При этом количество учебных и выходных дней не должно измениться, может измениться только порядок их следования.
Сможете ли вы переставить порядок дней в расписании оптимальным образом?
Первая строка содержит строку $$$s$$$ ($$$1 \leqslant |s| \leqslant 500\,000$$$), задающую текущий проект расписания смены.
Вторая строка содержит строку $$$t$$$ ($$$1 \leqslant |t| \leqslant 500\,000$$$), задающую оптимальное расписание согласно Глебу.
Строки $$$s$$$ и $$$t$$$ состоят только из символов «0» и «1».
В единственной строке выведите расписание, количество вхождений $$$t$$$ как подстроки в которое максимально. Выведенное расписание должно состоять только из «0» и «1», причём количество нулей должно совпадать с количеством нулей в $$$s$$$, а количество единиц — с количеством единиц в $$$s$$$.
Если существует несколько оптимальных расписаний, выведите любое из них.
101101 110
110110
10010110 100011
01100011
10 11100
01
В первом примере два вхождения, начинающихся с первой и четвертой позиции.
Во втором примере всего одно вхождение, и оно начинается с третьей позиции. Заметим также, что ответ не единственен — например, самый первый день (являющийся выходным) можно переместить на последнюю позицию, и кол-во вхождений $$$t$$$ не изменится.
В третьем примере добиться даже одного вхождения не получится.
Название |
---|