#AG0111. 晾衣服

晾衣服

题目描述

冬天洗衣服很难,尤其是干衣服。但光头强是一个非常聪明的男孩。光头强不怕这个无聊的过程,他决定用暖气片使干燥更快。但是散热器很小,所以一次只能装一件东西。

光头强希望在尽可能短的时间内进行干燥。他让你写一个程序来计算一套衣服的最短时间。

光头强刚洗了 nn 件衣服。每件衣服在清洗后,包含 aia_i 的水分。每一分钟,每件衣服中所含的水量都会减少 11(当然,只有在还没有完全干燥的情况下)。当所含水量为零时,布料变干,准备打包。

光头强每分钟都可以选择一件东西在散热器上烘干。散热器非常热,所以这件东西的水量在这一分钟内减少了 kk(但不小于零,如果这件东西含有的水少于 kk,那么产生的水量将为零)。

任务是通过有效地使用散热器来最小化干燥的总时间。当所有的衣服都干了,烘干过程就结束了。

输入描述

第一行包一个整数 nn,表示衣服的数量。

第二行包含 nn 个整数 aia_i

第三行包含一个整数 kk

输出描述

输出晾干所有衣服所需的最小时间。

3
2 3 9
5
3
3
2 3 6
5
2

评测用例规模与约定:

对于所有评测用例,1n1051ai1091k1091 ≤ n ≤ 10^5,1 ≤ a_i ≤ 10^9,1 ≤ k ≤ 10^9