序列分组[1]
时间限制:1秒 内存限制:256M
【问题描述】
给定一个整数序列:\(A_1,A_2,…,A_n\),现在需要把这 \(n\) 个数按原来的顺序分成若干组,每组包含若干连续的项。每组的代价为定义为:\((∑A_i)^2+M\),其中 \(M\) 为一个常数。
那么该如何分组,才能让每组的代价和最小。
【输入格式】
第 1 行是 \(n\) 和 \(M\);
第 2 行有 \(n\) 个整数,第 \(i\) 个数为 \(A_i\)。
【输出格式】
一个整数,表示最小代价和。
【输入输出样例1】
Input
5 100
5 9 5 7 5
Output
665
【数据限制】
\(n≤10000,M≤10^6\)
\(0≤A[i]≤100\)