Если девушка не идет к Денису, то Денис идет к девушке. Руководствуясь таким принципом, молодой человек вышел из дома, купил цветы и направился к Насте.
По пути от его дома до дома его возлюбленной есть дорога из $$$n$$$ полос, перейти которую за один зеленый свет не всегда возможно. Предвидя это, добрый мэр распорядился поставить в некоторых точках этой дороги островки безопасности. Каждый островок расположен после какой-то полосы, а также в начале и в конце дороги. На них пешеходы могут отдохнуть, набраться сил и дождаться зеленого света.
Денис подошел к левому краю дороги ровно в тот момент, когда загорелся зеленый свет. Мальчик знает, что светофор сначала горит $$$g$$$ секунд зеленым, а потом $$$r$$$ секунд красным, потом опять $$$g$$$ секунд зеленым и так далее.
Формально, дорогу можно представить как отрезок $$$[0, n]$$$. Изначально Денис стоит в точке $$$0$$$. Его задача - попасть в точку $$$n$$$ за минимальное возможное время.
Oн знает множество различных целых чисел $$$d_1, d_2, \ldots, d_m$$$, где $$$0 \leq d_i \leq n$$$ — координаты точек, в которых расположены островки безопасности. Только в одной из этих точек мальчик может находиться в момент, когда горит красный свет.
К сожалению, из-за волнения Денис не всегда может контролировать себя, поэтому сейчас на его передвижения наложены некоторые ограничения:
Считается, что Денис перешел дорогу как только его координата станет равна $$$n$$$.
Эта задача оказалась не так проста, ведь возможно, таким способом даже невозможно перейти дорогу. Так как у Дениса все мысли о любви, он не справился решить ее и попросил нас помочь ему в этом. Найдите минимальное возможное время, за которое он сможет перейти дорогу по таким правилам, либо установите, что это сделать невозможно.
В первой строке находится два целых числа $$$n$$$ и $$$m$$$ $$$(1 \leq n \leq 10^6, 2 \leq m \leq min(n + 1, 10^4))$$$ — ширина дороги и количество островков безопасности.
Во второй строке находится $$$m$$$ различных целых чисел $$$d_1, d_2, \ldots, d_m$$$ $$$(0 \leq d_i \leq n)$$$ — точки, в которых расположены островки безопасности. Гарантируется, что среди них есть $$$0$$$ и $$$n$$$.
В третьей строке находится два целых числа $$$g, r$$$ $$$(1 \leq g, r \leq 1000)$$$ — время, которое на светофоре горит зеленый свет и время, которое на светофоре горит красный свет.
Выведите одно целое число — минимальное время, за которое Денис может перейти дорогу по всем правилам.
Если перейти дорогу по всем правилам невозможно выведите $$$-1$$$.
15 5 0 3 7 14 15 11 11
45
13 4 0 3 7 13 9 9
-1
В первом тесте оптимальный маршрут такой:
Всего получается $$$45$$$ секунд.
Во втором тесте невозможно перейти дорогу по всем правилам.
Название |
---|