问题 F: 阿朱与旭宝宝的高楼游戏

问题 F: 阿朱与旭宝宝的高楼游戏

时间限制: 1 Sec  内存限制: 128 MB
提交: 61  解决: 30
[状态] [讨论版] [提交] [命题人:]
题目描述
阿朱妹妹和旭宝宝是好朋友,寒假过后,又到了吃饭的时候了,然而阿朱妹妹并不想请客吃饭,便给指这外面的高楼出了一道题,如果旭宝宝可以回答上来的话,便答应请他吃饭。
题目是这样的:有n座高楼,每座高楼的高度分别是h[i],你可以无限次进行操作,但是每次只能把连续相邻的m座高楼的高度整体往上加一,那么最少可以操作多少次让每座高楼的高度相同呢?
旭宝宝望着外面为数不多的高楼笑了,这可难不倒他,阿朱妹妹却说可不止这一个数据呢,由于旭宝宝没有带计算机算不了很大的数据,希望你们可以帮忙回答这个问题哟!
输入

第一行输入T,代表测试用例

每组测试用例,第一行输入n,m。

第二行输入n个数,其中第i个数为h[i]。

数据范围:

1<=T<=10,1<=m<=n<=105,0<=h[i]<=109.

输出
对于每组测试用例,如果可以让所有高楼高度一样则输出最少操作数,否则输出-1.
样例输入 Copy
2
7 3 
4 2 2 1 1 1 2
4 3
1 1 1 2
样例输出 Copy
5
1