王老师在河边发现了几堆石子,现在他想将这些石子合并为一堆。
每次操作他可以将第i(1 ≤ i< n)堆中至多k个石子移动到第i+1堆,或者将第i(1 <i≤ n)堆中至多k个石子移动到第i-1堆。每次操作均消耗一点体力。
现在王老师想知道将所有石子合并成一堆后,最少需要消耗多少点体力?
数据范围:1<n≤ 200000,1 ≤ai ≤ 109
输入格式:
输出格式:
样例解释:
1、将第一组石子全部移动到第二组,前两次移动2个,最后一次移动1个,本轮消耗3点体力,此时石子排列变为[0,7,4,7,1]
2、将第二组石子全部移动到第三组,前三次移动2个,最后一次移动1个,本轮消耗4点体力,此时石子排列变为[0,0,11,7,1]
3、将第五组石子移动到第四组,只移动一个石子,本轮消耗1点体力,此时石子排列变为[0,0,11,8,0]。
4、将第四组石子全部移动到第三组,每次移动2个,本轮消耗4点体力,此时石子排列变[0,0,19,0,0]。
合并完成,共消耗3+4+1+4=12点体力。