[GESP202609 六级] 数组划分
题目描述
n 个整数的数组 A=[a1,a2,…,an]。
将 A 划分成若干个非空连续子段,某个子段的偏差值定义为子段内整数和的平方。任意一个划分方案的偏差值定义为所有子段偏差值之和。
你需要最小化划分方案的偏差值。形式化的,你可以将 A 划分成若干非空连续子段 A1,A2,…,Ak,使得 A=A1+A2+⋯+Ak,这里的 + 代表数组的连接。对于非负 k,设数组 Ai=[a1(i),…,ami(i)] 包含 m 个整数,你需要最小化
∑i=1k(∑j=1miaj(i))2
输入格式
共两行。第一行包含一个整数 n,表示数组 A 的长度。
第二行包含 n 个整数 a1,a2,…,an,相邻两个整数之间用一个空格分隔。
输出格式
一行包含一个整数,表示所有划分方案中最小的偏差值。
输入输出样例
输入#1
6
-1 -1 4 -5 -1 4
输出#1
0
输入#2
4
1 2 -3 4
输出#2
6
数据范围:
对于40%的数据,0≤n,ai≤50
对于100%的数据,1≤n≤2000,−100≤ai≤100
有帮助,赞一个