你有一个可以调节明暗度的灯泡,这个灯泡有 $n$ 个明暗度,分别为 $1,2,3,\dots,m$。灯泡有一个遥控器,你每按一次遥控器,假设灯泡当前亮度为 $x$,按一次以后就变成了 $x+1$,如果 $x=m$,则按一次以后变成 $1$ 。每个灯泡在设计时都有一个按钮,且有一个舒适值 $k$,你可以按一次按钮,无论你现在的亮度是多少,你的亮度都会变成 $k$。按一次按钮或按一次遥控器都算是操作一次。 现在给你一个序列 $a_1,\dots,a_n$,一开始你的亮度是 $a_1$,然后你要将亮度调到 $a_2$,再到 $a_3$,再到 $a_4 \dots$ 最后到 $a_n$,完成这个亮度变化的过程会得到一个最小的操作次数 $T$,现在问你如何指定舒适值(舒适值指定之后不能改变),使得 $T$ 最小。
对于 $60\%$ 的数据: $n,m \leq 3000$;
对于 $90\%$ 的数据: $n,m \leq 10^5$;
对于 $100%$ 的数据:$2 \leq n,m \leq 10^6$,$1 \leq a_i \leq m, a_i \not =a_{i+1}$。