P14702 [ICPC 2024 Tehran R] Boat

题目描述

一条河将上巴雷与下巴雷分隔开来。为了在这两个城镇之间运送人员,人们提供了一艘**双人船**(一艘最多可载两人的船),并具有一定的载重能力。这艘船必须由至少一人驾驶,即,它不能在没有任何乘客的情况下过河。 全国巴雷节计划在上巴雷举行。所有下巴雷的居民都希望参加这次庆祝活动,并需要尽快转移到上巴雷。你的任务是帮助他们以最少的渡河次数转移到上巴雷。

输入格式

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

输出格式

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