题目描述
给定长度为 n 的整数列:
A=(a1,a2,…,an)
把 A 划分为若干个非空连续子序列:
B1,B2,…,Bm
并按原顺序连接后仍为 A,称为 A 的一个分割。
对一个整数序列 B,定义:
f(B)=(x∈B∑x)2
一个分割 (B1,B2,…,Bm) 的分数为:
f(B1)+f(B2)+⋯+f(Bm)
A 一共有 2n−1 种分割。将所有分割的分数按降序排列,求第 k 大的分数。
输入格式
输入包含不超过 30 个数据集。
每个数据集格式如下:
n k
a1 a2 ... an
其中:
1≤n≤1000
1≤k≤min(2n−1,2000)
−106≤ai≤106
输入以 0 0 结束。
输出格式
对每个数据集,输出一行一个整数,表示第 k 大分数。
样例输入
5 1
3 1 4 1 5
5 6
3 1 4 1 5
14 255
2024 6 29 14 0 -17 0 2024 7 5 16 30 -19 30
0 0
样例输出
196
100
8484005