卡评测将会被封号。
给定一个长度为 的整数数组 。定义某个数组 的代价如下:
其中 表示 中所有不同元素组成的集合, 和 分别表示 在 中第一次和最后一次出现的位置的下标。换句话说,对于每个不同的元素,计算其在 中第一次和最后一次出现位置的距离,然后将这些距离相加。
你需要将数组 划分为 个连续的区间,使得每个元素恰好属于一个区间,并且所有区间的代价之和最小。
第一行包含两个整数 和 (,)。
第二行包含 个整数 ()。
输出所有区间代价之和的最小值。
7 2 1 6 6 4 6 6 6
3
7 4 5 5 5 5 2 3 3
1
在第一个样例中,可以将数组划分为 和 。 的代价为 , 的代价为 。总代价为 。
在第二个样例中,可以将数组划分为 、、 和 。总代价为 。
由 ChatGPT 4.1 翻译