AT_arc120_d [ARC120D] Bracket Score 2
题目描述
我们将**括号匹配的字符串**定义为满足以下任一条件的字符串:
- 空字符串。
- 存在某些括号匹配的非空字符串 $s,\ t$,将 $s$ 和 $t$ 按顺序连接得到的字符串。
- 存在某个括号匹配的字符串 $s$,将 `(`、$s$、`)` 按顺序连接得到的字符串。
此外,对于括号匹配的字符串 $s$,我们称 $s$ 的第 $i$ 个字符和第 $j$ 个字符**匹配**,当且仅当满足以下所有条件:
- $1 \le i < j \le |s|$。
- $s_i = $ `(`。
- $s_j = $ `)`。
- $s$ 的第 $i$ 个字符和第 $j$ 个字符之间的子串(不包括 $i$ 和 $j$ 这两个字符)是一个括号匹配的字符串。
给定一个长度为 $2N$ 的数列 $A = (A_1, A_2, A_3, \dots, A_{2N})$。
对于长度为 $2N$ 的括号匹配的字符串 $s$,定义其**得分**为:对所有 $s$ 中匹配的字符对 $(i, j)$,将 $|A_i - A_j|$ 的值累加起来。
请你求出所有长度为 $2N$ 的括号匹配的字符串中,得分最大的一个字符串。输出任意一个即可。
输入格式
输入以如下格式从标准输入读入:
> $N$ $A_1$ $A_2$ $A_3$ $\dots$ $A_{2N}$
输出格式
请输出一个长度为 $2N$ 的括号匹配的字符串,使其得分最大。
如果有多个答案,输出其中任意一个均可。
说明/提示
### 数据范围
- $1 \le N \le 2 \times 10^5$
- $1 \le A_i \le 10^9$
- 输入中的所有值均为整数。
### 样例解释 1
长度为 $4$ 的括号匹配的字符串有两种:`(())` 和 `()()`,它们的得分如下:
- `(())`:$|1 - 4| + |2 - 3| = 4$
- `()()`:$|1 - 2| + |3 - 4| = 2$
因此,只有 `(())` 是正确答案。
### 样例解释 2
`(())` 和 `()()` 的得分如下:
- `(())`:$|2 - 3| + |3 - 2| = 2$
- `()()`:$|2 - 3| + |2 - 3| = 2$
因此,这种情况下输出任意一个都是正确答案。
由 ChatGPT 4.1 翻译