有n堆已经搭好的积木,在不添加积木的情况下,通过指定操作调整积木,使得其中有连续W堆积木恰好具有相同的高度H。
可以把一个积木从当前堆移动到另一堆或者作为新的一堆置于开头或末尾,但是不能移动到两堆之间。比如,一次移动之后,"3 2 3" 可以变成 "2 2 4" 或者 "3 2 2 1",但是不能变成"3 1 1 3"。
计算需要移动的最少积木数。
有多组测试数据。
第一行三个整数n, W, H。n表示积木堆数,要求移动后的积木有连续W堆具有相同高度H。
第二行n个元素,表示这n堆积木的高度。
所有数据的范围[1, 100]
输出最少需要移动的次数,如果无法完成输出-1。
4 3 2 1 2 3 5 4 4 4 1 2 3 4
1 -1