T3.电梯 (elevator)
- 时间限制:$1000ms$ ,空间限制:$512MB$
题目描述
小潍和他的同学们进行信息学学习后,需要在教室和机房之间穿梭,现在教室和机房之间有一部小电梯,最大载重为 $k$ ,最多承载人数为$2$ 。在去机房训练的时候,$n$ 个学生都会从教室乘坐电梯到机房,并且他们来到电梯的顺序是不一定的。
对于每一趟电梯,队伍中最前的学生一定会进入电梯中。若队伍中下一个学生进入电梯后超载,电梯会只载一个学生去机房。若不超载,电梯会载两个学生去机房。
现在请你计算电梯最多会运行多少个来回,才能确保将所有学生运送到机房。
输入格式
第一行两个数 $n,k$,代表学生人数和电梯的最大载重。
第二行开始有 $n$ 行,每行一个数代表 $v_i$ ,代表第 $i$ 个学生的重量。
输出格式t
一行一个数,代表最坏情况下电梯会运行多少个来回。
样例输入1
6 6
1 2 3 3 4 5
样例输出1
5
样例解释1
其中一种最坏情况下的排队顺序:$(2)、(5,1)、(3)、(4)、(3)$ 第一次电梯载下重量为 $2$ 的学生后,无法载下重量为 $5$ 的学生,于是只载一个学生前往机房。 第二次电梯载下重量为 $5$ 的学生后,可以载下重量为 $1$ 的学生,于是载两个学生前往机房。 第三次电梯载下重量为 $3$ 的学生后,无法载下重量为 $4$ 的学生,于是只载一个学生前往机房。 第四次电梯载下重量为 $4$ 的学生后,无法载下重量为 $3$ 的学生,于是只载一个学生前往机房。 第五次电梯载下重量为 $3$ 的学生后,由于后面没有学生了,只载一个学生前往机房。
样例输入2
8 120
19 83 67 94 31 13 35 69
样例输出2
6
样例输入3
见下发文件elevator\elevator3.in
样例输出3
见下发文件elevator\elevator3.ans
数据规模与约定
对于 $30\%$ 数据 $n\le 10$ 。 对于 $100\%$ 数据 $n\le 10^5, k\le 10^{9},v_i \le k$。
