Задача D: Телепорт Вчера на день рождения Максиму подарили телепорт (устройство для телепортации). Сегодня Максим хочет опробовать его по дороге в школу.

Улицу, на которой живет Максим, можно представить в виде координатной прямой, на которой дом Максима имеет координату A метров, школа — B метров, а скорость передвижения Максима равна 1 м/c. Телепорт открывает портал в любой точке и моментально перемещает пользователя на расстояние ровно C метров от текущего положения пользователя в сторону школы. Однако телепорт можно использовать только один раз.

Максим хочет как можно быстрее оказаться в школе. Максиму не обязательно использовать телепорт, но он может это сделать, если это ускоряет путь.

Напишите программу, которая по заданным числам A, B и C, определит через какое наименьшее количество секунд Максим сможет оказаться в школе.

Формат входных данных
В единственной строке входных данных вводятся 3 целых числа A, B и C (|A|,|B| \le 10^9, 0 \le C \le 10^9)— координаты дома, школы и расстояние, на которое перемещает телепорт соответственно.

Формат результата
Выведите единственное целое число— наименьшее количество секунд, через которое Максим сможет оказаться в школе (ответ всегда является целым количеством секунд).

Примеры
Входные данные
1 7 4
Результат работы
2
Входные данные
-5 5 10
Результат работы
0
Входные данные
1 10 100
Результат работы
9
Примечания
В первом тесте возможный путь Максима выглядит так: он за 1 секунду доходит из точки 1 в точку 2, далее телепортируется в точку 6 и за 1 секунду доходит то школы.

Во втором тесте он может сразу телепортироваться из дома в школу.

В третьем тесте быстрее всего дойти до школы не используя телепорт.

АндрейВоробейtop АндрейВоробейtop    2   24.10.2021 13:52    11

Ответы
Gufka965 Gufka965  24.10.2021 14:00

dom = int(input()) #вводим дом

school = int(input()) #вводим школу

teleport = int(input()) #вводим телепорт

summa = dom + school

summa1 = school - dom

summa2 = school - dom - teleport

if teleport == summa1: #если телепорт равен расстоянию между школой и домом

   print("0")

elif teleport < summa1: #если телепорт меньше чем расстояние между школой и домом

   print(summa2)

elif teleport > school and (teleport - school) < summa1: #если телепорт больше чем расстояние до школы но не больше чем разница между школой и домом

   print(teleport - school)

elif teleport > school and teleport > summa1: #если телепорт больше чем расстояние до школы и больше чем разница между школой и домом

   print(summa1)

Объяснение:

ПОКАЗАТЬ ОТВЕТЫ
НастяandТима НастяandТима  24.10.2021 14:00

a, b, c = map(int, input().split())

print((abs(a-b), abs(c - abs(a-b)))[c < 2*abs(a-b)])

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика