题目描述
有 N 个球从左到右排列。第 i 个球的颜色是 Color Ci,上面写着一个整数 Xi。
高桥想要重新排列球,使得球上写的整数从左到右是非递减的。换句话说,他的目标是达到这样一种情况:对于每个 1≤i≤N−1,从左边数第 (i+1) 个球上的数字大于等于左边数第 i 个球上的数字。
为此,高桥可以重复任意次数(可能为零)以下操作:
选择一个整数 i,使得 1≤i≤N−1。
如果左边数第 i 个和 (i+1) 个球的颜色不同,支付一个代价 1。(如果颜色相同,则不支付代价。)
交换左边数第 i 个和 (i+1) 个球。
求出高桥达到目标所需的最小总代价。
约束条件
- 2≤N≤3×105
- 1≤Ci≤N
- 1≤Xi≤N
- 输入中的所有值都是整数。
输入
输入从标准输入给出,格式如下:
N
C1 C2 … CN
X1 X2 … XN
输出
输出高桥达到目标所需的最小总代价,作为一个整数。
示例1
5
1 5 2 2 1
3 2 1 2 1
示例输出1
6
我们用 (颜色,整数) 来表示一个球。初始情况为 (1,3), (5,2), (2,1), (2,2), (1,1)。以下是高桥的一种可能的操作序列:
- 交换第 1 个球(颜色 1)和第 2 个球(颜色 5)。现在球的顺序为 (5,2), (1,3), (2,1), (2,2), (1,1)。
- 交换第 2 个球(颜色 1)和第 3 个球(颜色 2)。现在球的顺序为 (5,2), (2,1), (1,3), (2,2), (1,1)。
- 交换第 3 个球(颜色 1)和第 4 个球(颜色 2)。现在球的顺序为 (5,2), (2,1), (2,2), (1,3), (1,1)。
- 交换第 4 个球(颜色 1)和第 5 个球(颜色 1)。现在球的顺序为 (5,2), (2,1), (2,2), (1,1), (1,3)。
- 交换第 3 个球(颜色 2)和第 4 个球(颜色 1)。现在球的顺序为 (5,2), (2,1), (1,1), (2,2), (1,3)。
- 交换第 1 个球(颜色 5)和第 2 个球(颜色 2)。现在球的顺序为 (2,1), (5,2), (1,1), (2,2), (1,3)。
- 交换第 2 个球(颜色 5)和第 3 个球(颜色 1)。现在球的顺序为 (2,1), (1,1), (5,2), (2,2), (1,3)。
在最后一次操作之后,从左到右球上写的数字为 1,1,2,2,3,这样就达到了高桥的目标。
前 1、2、3、5、6 和 7 次操作每次都支付 1 的代价,总共支付 6,这是最少的。注意第 4 次操作不支付代价,因为球的颜色都是 Color 1。
示例2
3
1 1 1
3 2 1
示例输出2
0
所有球的颜色都相同,所以交换球不需要支付代价。
示例3
3
3 1 2
1 1 2
示例输出3
0
高桥的目标已经实现,不需要任何操作。