CF847C Sum of Nestings
题目描述
我们定义一个括号序列是规则的当且仅当存在某种方式可以将字符`+`和`1`插入其中使得其成为一个合法的表达式。比如`(()())`是规则的因为我们可以将它变成`((1+1)+(1+1))`的形式,而这个形式是一个合法的表达式。此外,`()()()`、`(())`、`()`也是规则的括号序列。相反,`)(`、`(()`、`())(()`不是规则的括号序列。
在这个问题中,你被给予了两个数$n$和$k$,你的任务是构建一个规则的括号序列,使得它恰好含有$n$对括号并且恰好含有$k$对嵌套。
比如,`()(())`含有$3$对括号且它的嵌套对数为$1$,而`(((())))`含有$4$对括号且它的嵌套对数为$6=3+2+1$。
输入格式
The first line contains two integers $ n $ and $ k $ ( $ 1
输出格式
Print the required regular bracket sequence consisting of round brackets.
If there is no solution print "Impossible" (without quotes).
说明/提示
The first example is examined in the statement.
In the second example the answer is "(((())))". The nesting of the first opening bracket is $ 0 $ , the nesting of the second is $ 1 $ , the nesting of the third is $ 2 $ , the nesting of fourth is $ 3 $ . So the total sum of nestings equals to $ 0+1+2+3=6 $ .
In the third it is impossible to construct a regular bracket sequence, because the maximum possible total sum of nestings for two opening brackets equals to $ 1 $ . This total sum of nestings is obtained for the sequence "(())".