Поиск


Ограничение времени 1 секунда
Ограничение памяти 256Mb
Ввод стандартный ввод или input.txt
Вывод стандартный вывод или output.txt

Геннадию необходимо попасть с этажа A на этаж B. Для вызова лифта на всех этажах офисного здания, кроме первого и последнего, есть две кнопки — для перемещения вниз и перемещения вверх. В тот момент, когда Геннадий нажал нужную кнопку вызова, лифт находился на этаже C и вез одного пассажира на этаж D. Если лифт проезжает мимо этажа, на котором нажата кнопка вызова, и лифт движется в подходящем направлении, то лифт останавливается, чтобы посадить дополнительного пассажира. Лифт перемещается между соседними этажами за одну единицу времени, также одну единицу времени занимает остановка лифта на этаже для высадки или посадки пассажиров.

Напишите программу, вычисляющую, через сколько времени Геннадий доберется до этажа B, при условии, что никто больше не будет вызвать лифт.

Формат ввода

Первая строка ввода содержит четыре целых числа A,B,C и D, разделенных одним пробелом (1 A,B,C,D 20,AB,CD,AC).

Формат вывода

Вывести одно целое число — количество единиц времени от момента вызова лифта до момента, когда Геннадий выйдет из лифта на этаже B.

Пример 2

Ввод

3 9 2 5

Вывод

10

Пример 2

Ввод

3 9 5 2

Вывод

13

Tutorials

Нужно рассмотреть, движется ли лифт в том направлении, куда нужно Геннадию, будет ли он или пассажир лифта сходить на промежуточном этаже, и вывести формулы для этих вариантов. Существует 4 варианта:

  1. пассажир едет на этаж, где находится Геннадий;
  2. Геннадий едет в том же направлении, что и лифт, и лифт может посадить его по пути, Геннадий выходит раньше или одновременно с пассажиром лифта;
  3. тоже что и 2, но пассажир выходит раньше Геннадия;
  4. лифт сначала отвозит пассажира, затем отвозит Геннадия.

Для отправки решения задачи необходимо авторизоваться!