#598. 河东河西

河东河西

题目描述

一条河将两个城镇河东和河西分隔开来‌。为了在两个城镇之间运送人员,提供了一艘‌双人船‌(最多可承载两人),该船有一定的载重限制。这艘船必须由至少一人驾驶,即‌船不能在无人乘坐的情况下横渡河流‌。

有一天河西会举行一个庆典,河东的所有人需要通过这艘双人船到河西去,因为这个庆典马上就开始了,所以需要尽快到达。

输入格式

输入的第一行包含两个整数 nnww,其中 nn 是河东居民的数量 (1n10001 \leq n \leq 1000),ww 是船的最大载重量 (1w1061 \leq w \leq 10^6)。第二行包含 nn 个用空格分隔的整数,描述了河东居民的体重。所有体重都是不超过 10610^6 的正整数。

输出格式

如果无法转移所有河东居民,则输出一行,包含 1-1。否则,输出将河东所有居民转移到河西所需的最少渡河次数(往返两个方向均计入)。

3 7
1 3 4
3
3 4
2 3 4
-1