[ARC097E] Sorted and Sorted
题意翻译
有 $2N$ 个球排成一列,其中有 $N$ 个黑球与 $N$ 个白球。把 $1$ 到 $N$ 这 $N$ 个数字分别写到 $N$ 个黑球上;白球亦然。左起第 $i$ 个球上的写的数字是 $a_i$,颜色是 $c_i$。$c_i$ 为
B 是黑球,为 W 是白球。
定义一次操作为交换两个相邻的球。你需要求出最少的操作使得序列中
1. 从左到右黑球上的数字递增。
2. 从左到右白球上的数字递增。
同时满足。
题目描述
[problemUrl]: https://atcoder.jp/contests/arc097/tasks/arc097_c
それぞれ $ 1 $ から $ N $ の整数が $ 1 $ つずつ書かれた白いボールと黒いボールが合わせて $ 2N $ 個一列に並んでいます。 左から $ i $ ($ 1 $ $ <\ = $ $ i $ $ <\ = $ $ 2N $) 個目のボールに書いてある数は $ a_i $ で、色は $ c_i $ で表されます。 $ c_i $ $ = $ `W` のとき ボールが白いことを、$ c_i $ $ = $ `B` のとき ボールが黒いことを表します。
人間の高橋君は次のような目標を達成したいです。
- $ 1 $ $ <\ = $ $ i $ $ j $ $ <\ = $ $ N $ を満たす任意の整数の組 $ (i,j) $ に対して、$ i $ が書かれた白いボールの方が $ j $ が書かれた白いボールより左にある
- $ 1 $ $ <\ = $ $ i $ $ j $ $ <\ = $ $ N $ を満たす任意の整数の組 $ (i,j) $ に対して、$ i $ が書かれた黒いボールの方が $ j $ が書かれた黒いボールより左にある
目標を達成するために高橋君は次のような操作ができます。
- 隣り合う二つのボールをスワップする
目標を達成するために必要な操作回数の最小値を求めてください。
输入输出格式
输入格式
入力は以下の形式で標準入力から与えられる。
> $ N $ $ c_1 $ $ a_1 $ $ c_2 $ $ a_2 $ $ : $ $ c_{2N} $ $ a_{2N} $
输出格式
目標を達成するために必要な操作回数の最小値を出力せよ。
输入输出样例
输入样例 #1
3
B 1
W 2
B 3
W 1
W 3
B 2
输出样例 #1
4
输入样例 #2
4
B 4
W 4
B 3
W 3
B 2
W 2
B 1
W 1
输出样例 #2
18
输入样例 #3
9
W 3
B 1
B 4
W 1
B 5
W 9
W 2
B 6
W 5
B 3
W 8
B 9
W 7
B 2
B 8
W 4
W 6
B 7
输出样例 #3
41
说明
### 制約
- $ 1 $ $ <\ = $ $ N $ $ <\ = $ $ 2000 $
- $ 1 $ $ <\ = $ $ a_i $ $ <\ = $ $ N $
- $ c_i $ $ = $ `W` または $ c_i $ $ = $ `B`
- $ i $ $ ≠ $ $ j $ なら、 $ (a_i,c_i) $ $ ≠ $ $ (a_j,c_j) $
### Sample Explanation 1
例えば次のようにすると $ 4 $ 回で可能です。 - 黒の $ 3 $ と白の $ 1 $ をスワップ - 白の $ 1 $ と白の $ 2 $ をスワップ - 黒の $ 3 $ と白の $ 3 $ をスワップ - 黒の $ 3 $ と黒の $ 2 $ をスワップ