atcoder#ARC097C. [ARC097E] Sorted and Sorted

[ARC097E] Sorted and Sorted

配点 : 600600

問題文

それぞれ 11 から NN の整数が 11 つずつ書かれた白いボールと黒いボールが合わせて 2N2N 個一列に並んでいます。 左から ii (11 \leq ii \leq 2N2N) 個目のボールに書いてある数は aia_i で、色は cic_i で表されます。 cic_i == W のとき ボールが白いことを、cic_i == B のとき ボールが黒いことを表します。

人間の高橋君は次のような目標を達成したいです。

  • 11 \leq ii << jj \leq NN を満たす任意の整数の組 (i,j)(i,j) に対して、ii が書かれた白いボールの方が jj が書かれた白いボールより左にある
  • 11 \leq ii << jj \leq NN を満たす任意の整数の組 (i,j)(i,j) に対して、ii が書かれた黒いボールの方が jj が書かれた黒いボールより左にある

目標を達成するために高橋君は次のような操作ができます。

  • 隣り合う二つのボールをスワップする

目標を達成するために必要な操作回数の最小値を求めてください。

制約

  • 11 \leq NN \leq 20002000
  • 11 \leq aia_i \leq NN
  • cic_i == W または cic_i == B
  • ii \neq jj なら、 (ai,ci)(a_i,c_i) \neq (aj,cj)(a_j,c_j)

入力

入力は以下の形式で標準入力から与えられる。

NN

c1c_1 a1a_1

c2c_2 a2a_2

::

c2Nc_{2N} a2Na_{2N}

出力

目標を達成するために必要な操作回数の最小値を出力せよ。

3
B 1
W 2
B 3
W 1
W 3
B 2
4

例えば次のようにすると 44 回で可能です。

  • 黒の 33 と白の 11 をスワップ
  • 白の 11 と白の 22 をスワップ
  • 黒の 33 と白の 33 をスワップ
  • 黒の 33 と黒の 22 をスワップ
4
B 4
W 4
B 3
W 3
B 2
W 2
B 1
W 1
18
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
41