涂色
题号:NC210805
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

给定一排长度为的瓷砖,每块瓷砖都有一个数字。现在需要对这些瓷砖进行涂色,每次涂色都可以选一段之前没有涂过的区间,涂色的代价就是这段区间种不同的数字的个数的平方,比如对于,选择对区间涂色,因为三种数字,那么代价就是。现在需要求出把所有瓷砖都涂上颜色的最小代价。

输入描述:

第一行输入一个整数
第二行个数,第个数表示

输出描述:

输出一个整数表示最小代价。
示例1

输入

复制
5
1 3 3 4 2

输出

复制
4

备注: