#554. 马棚问题

马棚问题

题目描述

每天,小明和他的马外出,然后他们一边跑一边玩耍。当他们结束的时候,必须带所有的马返回马棚,小明有 KK 个马棚。他把他的马排成一排然后跟随它走向马棚,因为它们非常疲劳,小明不想让他的马做过多移动。因此他想了一个方法:将马按照顺序放在马棚中,后面的马放的马棚的序号不会大于前面的马放的马棚序号。而且,他不想他的 KK 个马棚中任何一个空置,也不想任何一匹马在外面。已知共有黑、白两种马,而且它们相处的并不十分融洽。如果有 II 个白马和 JJ 个黑马在一个马棚中,那么这个马棚的不愉快系数将是 i×ji \times j。所有 KK 个马棚的不愉快系数的和就是系数总和。确定一种方法把 nn 匹马放入 kk 个马棚,使得系数总和最小。

输入格式

在第一行有两个数字:NNKK。在接下来 NN 行是 NN 个数。在这些行中的第 II 行代表队列中的第 II 匹马的颜色:11 意味着马是黑色,00 意味着马是白色

输出格式

只输出一个单一的数字,代表系数总和可能达到的最小值。

6 3
1
1
0
1
0
1
2

数据范围

1N5001 \le N \le 500

1KN1 \le K \le N