#CSES2086. 子数组平方

子数组平方

题目背景

翻译自 CSES-2086 题。

题目描述

给定一个包含 nn 个元素的数组,你的任务是将其分成 kk 个子数组。每个子数组的成本是该子数组中所有元素和的平方。请问,若你采取最优策略,最小总成本是多少?

输入格式

第一行输入两个整数 nnkk,分别表示数组的元素个数和子数组的数量。数组元素编号为 1,2,...,n1, 2, ..., n

第二行输入 nn 个整数 x1,x2,...,xnx_1, x_2, ..., x_n,表示数组的元素。

输出格式

输出一个整数:表示最小的总成本。

样例

8 3
2 3 1 2 2 3 4 1
110

样例1解释

一种最优的划分方案是:

  • 子数组 [2,3,1][2, 3, 1],其成本为 (2+3+1)2=62=36(2 + 3 + 1)^2 = 6^2 = 36
  • 子数组 [2,2,3][2, 2, 3],其成本为 (2+2+3)2=72=49(2 + 2 + 3)^2 = 7^2 = 49
  • 子数组 [4,1][4, 1],其成本为 (4+1)2=52=25(4 + 1)^2 = 5^2 = 25

总成本为 36+49+25=11036 + 49 + 25 = 110

说明/提示

1kn30001 \leq k \leq n \leq 3000

1xi1051 \leq x_i \leq 10^5