s из символов ( и ): каждой открывающей скобке соответствует закрывающая после неё.
Разрежьте s на блоки верхнего уровня — минимальные непустые куски, каждый из которых сам по себе правильная последовательность. Иначе говоря, блок заканчивается там, где число открытых скобок снова становится нулём. Например, (()())(()) состоит из блоков (()()) и (()).
У каждого блока уберите первую и последнюю скобку и верните склейку того, что осталось, в исходном порядке.s='(())((()))' → '()(())'
Блоки — «(())» и «((()))». Без внешних скобок они превращаются в «()» и «(())», вместе — «()(())».
s='()()()' → ''
Три блока «()», у каждого внутри пусто — результат пустая строка.
s='(()()())' → '()()()'
Вся строка — один блок, после снятия внешней пары остаётся «()()()».
s.length ≤ 10⁵s[i] — это ( или )s — правильная скобочная последовательностьs='(())((()))'
'()(())'
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 104 теста на сервере, включая скрытые.