#P0507. 弹珠
弹珠
题目描述
汪老师已经将 个彩色弹珠排成一排。第 个弹珠的颜色是 。汪老师喜欢有序的事物,所以他希望重新排列弹珠,使得相同颜色的弹珠形成一个连续的段落(每种颜色只有一个这样的段落)。
换句话说,汪老师希望重新排列弹珠,使得对于每种颜色 ,如果颜色为 的最左边的弹珠在排列中的位置是第 个,颜色为 的最右边的弹珠在排列中的位置是第 个,那么从第 个到第 个的每个弹珠的颜色都是 。
为了实现他的目标,汪老师可以执行以下操作任意次数:
选择两个相邻的弹珠并交换它们。
你需要计算汪老师需要执行的最少操作次数来重新排列弹珠。请注意,具有相同颜色的弹珠段的顺序不重要,只需要确保对于每种颜色,所有该颜色的弹珠都形成一个连续的段落即可。
输入格式
第一行包含一个整数 ,表示弹珠的数量。
第二行包含一个整数序列 ,其中 是第 个弹珠的颜色。
输出格式
输出汪老师需要执行的最少操作次数。
样例
7
3 4 2 3 4 2 2
3
5
20 1 14 10 2
0
13
5 5 4 4 3 5 7 6 5 4 4 6 5
21
说明/提示
样例解释
在第一个示例中,只需要三次操作。首先,汪老师应该交换第三个和第四个弹珠,使得颜色序列为。然后,汪老师应该交换第二个和第三个弹珠,使得序列为。最后,汪老师应该交换第四个和第五个弹珠,使得序列为。
在第二个示例中,不需要执行任何操作。