#D0001. 我是最聪明的电梯

我是最聪明的电梯

D0001 我是最聪明的电梯

题目描述

此题为本人原创题。目前无测试数据,不要提交。可以测样例。

如果你懒得看可以跳过背景。 小吴非常贪睡。他每天去上学都想卡着迟到的时间限制到校,所以每天早上等电梯的时候都在想:这个电梯怎么跑的这么慢?联想到每天随机出现的邻居的装修声,他明白了。电梯的载重有限,体积也是有限,总是其他楼层的人和重物先上了电梯,导致自己要等好几趟电梯才能坐上。他想,我要是算法设计师,我一定能让电梯按照最优策略调度。

现在小吴睡着了,他在梦中 变成了一个电梯! 他想,我一定要做最聪明的电梯。请你帮帮他实现这个想法。

小吴所在的单元楼共有 mm 层住户呼叫了电梯,均需要用电梯运输一件不可被拆分的重物,第 ii 件重物重量为 wi(i=1,2,...,m)w_i (i = 1,2,...,m) ,电梯的最大载重为 ll 。电梯初始在 11 层。每上升或下降 11 层花费 11 单位时间。我们只关心将所有重物运抵 11 层的时间,最后一趟电梯到达 11 层即停止计时。 电梯每次只能执行一个"往返任务":从 11 层出发,上去接若干层重物后,必须直接回到 11 层卸货,才能再次出发。不允许下降中途在其他楼层停留卸货。

输入格式

输入文件名为 elevator.inelevator.in

输入共 m+3m + 3 行。

第一行,两个整数 m,lm,l,分别表示单元楼住户数和电梯最大载重。每个整数间用空格隔开。

接下来的 mm 行中,每行两个用空格隔开的整数 i,wii,w_i 表示第 ii 层重物的重量为 wiw_i

输出格式

输出文件名为 elevator.outelevator.out

输出共 11 行,一个整数,表示所求的最短时间。

输入输出样例 #1

5 20
24 14
2 3
89 2
35 12
3 6
177

说明/提示

【数据范围】

对于 20%20\% 的数据,有 m,l20m,l \le 20
对于 50%50\% 的数据,有 m,l1000m,l\le 1000
对于 100%100\% 的数据,有 m,l100000m,l\le 100000