#P4970. 再次实现平等Ⅰ

再次实现平等Ⅰ

题目描述

你有一个由 n 个整数组成的数组 a。

你可以最多 1 次进行以下操作:选择三个整数 i, j, x (1≤i≤j≤n),并将数组中索引为 i 至 j 的所有元素赋值为 x。这个操作的代价取决于所选的索引,等于 (j-i+1) 的值。

例如,数组等于 [1, 2, 3, 4, 5, 1]。如果我们选择 i=2, j=4, x=8,那么执行此操作后,数组将等于 [1, 8, 8, 8, 5, 1]。

要使数组中的所有元素相等,最少需要花费多少代价?

输入格式

第一行包含一个整数 n (1≤n≤2e5),表示数组的大小。

第二行包含 n 个整数 a₁, a₂, …, aₙ (1≤aᵢ≤n),表示数组里每一个元素。

输出格式

输出一个整数,表示使数组中所有元素相等所需的最小代价。

样例输入

6
1 2 3 4 5 1

样例输出

4

样例解释

数组初始为 [1, 2, 3, 4, 5, 1]。要使所有元素相等,最优方案是选择将索引 2 到 5(对应值 2, 3, 4, 5)的元素替换为 1,操作代价为 5-2+1=4。操作后数组变为 [1, 1, 1, 1, 1, 1],所有元素相等,且此代价为最小可能。