分组代价[1]
时间限制:1秒 内存限制:256M
【题目描述】
给定一个整数序列:\(a[1],a[2],…,a[n]\),现在需要把这 \(n\) 个数按原来的顺序分成若干组,每组包含若干连续的项。每组的代价为定义为:\((∑a[i])^2+M\),其中 \(M\) 为一个常数。
那么该如何分组,才能让每组的代价和最小。
【输入格式】
第一行是包含两个整数 \(N\) 和 \(M\)。
接下来的 \(N\) 行,每行一个整数,表示 \(a[i]\)。
【输出格式】
一个整数,表示最小代价和。
【输入输出样例】
Input
5 5
5
9
5
7
5
Output
230
【数据限制】
对于 \(30\%\) 的数据,\(0 ≤ N ≤ 1000\)
对于 \(100\%\) 的数据,\(0 ≤ N ≤ 100000\),\(1 ≤ M ≤ 1000\),\(1 ≤ a[i] ≤ 100\)
【来源】
Mr.he**