route из символов 1 (шаг вверх) и 0 (шаг вниз). Маршрут *сбалансирован*: он ни разу не опускается ниже начальной высоты и заканчивается на ней же. Иначе говоря, в любом префиксе единиц не меньше, чем нулей, а во всей строке их поровну.
Непустую подстроку, которая сама по себе сбалансирована, назовём *походом*. За один ход можно взять два похода, идущих вплотную друг за другом, и поменять их местами. Ходов можно сделать сколько угодно.
Верните лексикографически наибольшую строку, которую можно получить.route='10110010' → '11001010'
Маршрут распадается на три соседних похода: 10, 1100 и 10. Меняем местами первые два — получаем 11001010; больше ничего улучшить нельзя.
route='111000101100' → '111000110010'
Маршрут состоит из походов 111000, 10 и 1100. Первый и так начинается с самого высокого подъёма, а два последних выгодно поменять местами: 111000110010.
route='10' → '10'
route состоит из символов 0 и 1route сбалансированаroute='10110010'
'11001010'
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 95 тестов на сервере, включая скрытые.