有一台机器,每秒能粉碎 厘米长的木棒,这台机器最多能放下最大长度为 厘米的木棒,如果剩下的木棒长度不足 k 厘米,则将花 1 秒将其粉碎;求给定顺序(按顺序进行)的 n 个木棒最少要用多少时间才能粉碎完。
输入
第一行包含整数 n、h 和 k(1<=n<=10^5 ,1<=k<=h<=10^9),含义如上。
第二行包含 n 个整数 ai (1 <= ai <= h) 依次表示 n 个木棒的长度。
输出
仅有一个数,表示粉碎所有木棒最少需要的时间。
数据范围
(1<=n<=10^5 ,1<=k<=h<=10^9)
输入样例
5 6 3
5 4 3 2 1
输出样例
5
样例解释
放下长度为5的木棒,第一秒粉碎长度为3 后剩下长度为2 ,此时可以放入第二根木棒 2+4=6,没有超过总限制长度 h,
第二秒粉碎长度为3 剩下的长度为3,此时可以放入第三根木棒 3+3=6,没有超过限制长度 h
第三秒粉碎长度为3 剩下的长度为3,此时可以放入第四根木棒 3+2=5,没有超过限制长度 h
第四秒粉碎长度为3 剩下的长度为2,此时可以放入第五根木棒 2+1=3,没有超过限制长度 h
第五秒粉碎粉碎剩下的。