Codeforces Round 610 (Div. 2) |
---|
Закончено |
Поликарп живет на координатной оси $$$Ox$$$ и путешествует из точки $$$x=a$$$ в $$$x=b$$$. Он двигается равномерно прямолинейно со скоростью одна единица расстояния в минуту.
На оси $$$Ox$$$ в точке $$$x=c$$$ находится базовая станция оператора сотовой связи. Известно, что радиус её покрытия составляет $$$r$$$. Таким образом, если абонент находится на расстоянии меньшем или равном $$$r$$$ от точки $$$x=c$$$, то он находится в зоне покрытия сети, иначе — нет. Базовая станция может находится как на пути следования Поликарпа, так и вне его.
Выведите время в минутах, в течение которого Поликарп не будет находится в зоне покрытия сети, при прямолинейном равномерном движении из $$$x=a$$$ в $$$x=b$$$. Его скорость движения — одна единица расстояния в минуту.
В первой строке записано положительное целое число $$$t$$$ ($$$1 \le t \le 1000$$$) — количество наборов входных данных в тесте. Далее записаны $$$t$$$ наборов входных данных.
Описание каждого набора входных данных составляет одну строку, которая содержит четыре целых числа $$$a$$$, $$$b$$$, $$$c$$$ и $$$r$$$ ($$$-10^8 \le a,b,c \le 10^8$$$, $$$0 \le r \le 10^8$$$) — координаты начальной и конечной точки пути, базовой станции и её радиус покрытия, соответственно.
Любые из чисел $$$a$$$, $$$b$$$ и $$$c$$$ могут совпадать (как любая пара, так и даже все три числа). Базовая станция может находится как на пути следования Поликарпа, так и вне его.
Выведите $$$t$$$ чисел — ответы на заданные наборы входных данных в порядке их записи в тесте. Каждый ответ является целым числом — количество минут, в течение которых Поликарп будет недоступен по сотовому телефону во время своего движения.
9 1 10 7 1 3 3 3 0 8 2 10 4 8 2 10 100 -10 20 -17 2 -3 2 2 0 -3 1 2 0 2 3 2 3 -1 3 -2 2
7 0 4 0 30 5 4 0 3
Следующая картинка иллюстрирует первый набор входных данных примера.
Название |
---|