CF1153C Serval and Parenthesis Sequence

题目描述

Serval 很快就和 Japari 幼儿园说再见,开始了在 Japari 小学的生活。 在他最喜欢的数学课上,老师教了他以下有趣的定义。 括号序列是一个只包含字符 “(” 和 “)” 的字符串。 一个合法括号序列是指,通过在原序列字符之间插入字符 “1” 和 “+”,可以变换成一个合法的算术表达式的括号序列。例如,括号序列 “()()”、“(())” 是合法的(变换后的表达式分别为:“(1+1)+(1+1)”、“((1+1)+1)”),而 “)(” 和 “)” 则不是。注意,空字符串根据定义也是合法括号序列。 我们定义 $|s|$ 为字符串 $s$ 的长度。字符串 $s = s_1s_2\dots s_{|s|}$ 的严格前缀 $s[1\dots l]$($1\leq l

输入格式

第一行包含一个整数 $|s|$($1\leq |s|\leq 3 \times 10^5$),表示字符串的长度。 第二行包含一个只由 “(”、“)”、和 “?” 组成的字符串 $s$。

输出格式

输出一行,表示替换后的字符串。 如果有多种方案,输出任意一种。 如果无解,输出一行 “:(”。

说明/提示

可以证明,第二个样例无解,因此输出 “:(”。 由 ChatGPT 4.1 翻译