打扫食槽
时间限制:1秒 内存限制:256M
【题目描述】
从前奶牛是不挑食的,但现在世道变了,她们变得非常挑剔。牧场里有 \(N\) 头奶牛,约翰 要向她们提供 \(M\) 种食物,第 \(i\) 头奶牛只会吃 \(P_i\) 号食物。
约翰每天都要打扫食槽,这件事非常累。奶牛沿着食槽排成一条直线,约翰在打扫时, 可以将食槽分割成若干个区间,如果一段区间中有 \(K\) 种不同的食物,那么这段区间打扫的时 间就是 \(K^2\)。请帮助约翰计划一下,怎么样才能使打扫整个食槽的时间最少。
【输入格式】
第一行:两个用空格分开的整数:\(N\) 和 \(M\)。
第二行到 \(N + 1\) 行:第 \(i + 1\) 行有一个整数 \(P_i(1 ≤ P_i ≤ M)\)。
【输出格式】
第一行:单个整数,表示约翰完成打扫的最短时间
【输入输出样例】
Input
13 4
1
2
1
3
2
2
3
4
3
4
3
1
4
Output
11
【数据限制】
对于 \(100\%\) 的数据,\(1 ≤ M ≤ N ≤ 40000\)。
【来源】
Mr.he