题目描述
关于 Bessie 和朋友们,一个鲜为人知的事实是他们喜欢爬楼梯比赛。一个较广为人知的事实是,奶牛真的不喜欢下楼。因此,当奶牛跑完他们最喜欢的摩天大楼的顶端后,他们遇到了一个问题。由于拒绝爬下楼梯,奶牛被迫使用电梯返回一楼。
电梯的最大重量为W(1≤W≤100000000) 磅,奶牛 i 的重量为 Ci(1≤Ci≤W) 磅。请帮助贝西弄清楚如何用最少的电梯次数将所有 N(1≤N≤18) 头奶牛送到一楼。每次乘坐电梯时,奶牛的重量总和不得大于 W。
输入格式
第 1 行:N 和 W 之间用空格隔开。
第 2 行到第 1+N 行:第 i+1 行包含整数 Ci ,表示其中一头牛的重量。
输出格式
一个整数 R,表示需要乘坐电梯的最少次数。
说明/提示
有四头母牛分别重 5 磅、6 磅、3 磅和7 磅。电梯的最大载重量为 10 磅。
我们可以把一头重 3 磅的母牛和其他任何一头母牛放在同一个电梯里,但是其他三头母牛太重了,不能合并在一起。对于上述解决方案,电梯 1 中有奶牛 1 和 3 ,电梯 2 有奶牛 2,电梯 3 有奶牛 4。对于这组数据,还有其他几种解决方案。