Олимпиадный тренинг

Задача . C. Скобочная подпоследовательность


Скобочной последовательностью называется строка, состоящая только из символов «(» и «)». Правильной скобочной последовательностью называется скобочная последовательность, которую можно преобразовать в корректное арифметическое выражение путем вставок между ее символами символов «1» и «+». Например, скобочные последовательности «()()», «(())» — правильные (полученные выражения: «(1)+(1)», «((1+1)+1)»), а «)(» и «(» — нет.

Подпоследовательность — это последовательность, которую можно получить из другой последовательности путем удаления некоторых элементов, не меняя порядок оставшихся элементов.

Задана правильная скобочная последовательность \(s\) и целое число \(k\). Ваша задача — найти такую правильную скобочную последовательность длины ровно \(k\), что она является подпоследовательностью \(s\).

Гарантируется, что такая последовательность всегда существует.

Входные данные

В первой строке записаны два целых числа \(n\) и \(k\) (\(2 \le k \le n \le 2 \cdot 10^5\), \(n\) и \(k\) четные) — длина \(s\) и длина последовательности, которую требуется найти.

Во второй строке содержится строка \(s\) — правильная скобочная последовательность длины \(n\).

Выходные данные

Выведите единственную строку — правильную скобочную последовательность длины ровно \(k\), что она является подпоследовательностью \(s\).

Гарантируется, что такая последовательность всегда существует.


Примеры
Входные данныеВыходные данные
1 6 4
()(())
()()
2 8 8
(()(()))
(()(()))

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя