AT_arc097_c [ARC097E] Sorted and Sorted

题目描述

有 $2N$ 个球排成一列,其中白球和黑球各 $N$ 个,每个球上写有 $1$ 到 $N$ 的整数,每个数字各出现一次。第 $i$ 个球上写的数字为 $a_i$,颜色为 $c_i$。当 $c_i = \texttt{W}$ 时表示该球为白色,当 $c_i = \texttt{B}$ 时表示该球为黑色。 高桥君有如下目标: - 对于任意满足 $1 \leq i < j \leq N$ 的整数对 $(i, j)$,写有 $i$ 的白球必须在写有 $j$ 的白球的左侧。 - 对于任意满足 $1 \leq i < j \leq N$ 的整数对 $(i, j)$,写有 $i$ 的黑球必须在写有 $j$ 的黑球的左侧。 为达成目标,高桥君可以进行如下操作: - 交换相邻的两个球。 请你求出,为达成目标所需的最小操作次数。

输入格式

输入通过标准输入给出,格式如下: > $N$ $c_1$ $a_1$ $c_2$ $a_2$ $\cdots$ $c_{2N}$ $a_{2N}$

输出格式

输出达成目标所需的最小操作次数。

说明/提示

### 限制 - $1 \leq N \leq 2000$ - $1 \leq a_i \leq N$ - $c_i = \texttt{W}$ 或 $c_i = \texttt{B}$ - 若 $i \neq j$,则 $(a_i, c_i) \neq (a_j, c_j)$ ### 样例解释 1 例如如下操作可以在 $4$ 次内完成目标: - 交换黑色 $3$ 和白色 $1$ - 交换白色 $1$ 和白色 $2$ - 交换黑色 $3$ 和白色 $3$ - 交换黑色 $3$ 和黑色 $2$ 由 ChatGPT 4.1 翻译