Сложение изогнутых блоков
Вы занимаетесь строительством и, чтобы сэкономить, используете некоторые уцененные, "нерегулярные" строительные материалы. В частности, у вас есть блоки, которые в основном прямоугольные, но с одной изогнутой гранью. Как показано ниже, вы собираетесь использовать эти нерегулярные блоки между стопками обычных блоков, чтобы они не сдвигались в стороны и не вращались. Вы положите один нерегулярный блок внизу, с его изогнутой гранью, направленной вверх, и другой сверху, с его изогнутой гранью, направленной вниз. Вам нужно определить, насколько хорошо эти блоки подходят друг к другу. Вы определяете качество подгонки как максимальный вертикальный зазор между верхней гранью нижнего блока и нижней гранью верхнего блока, когда верхний блок просто касается нижнего.
Рисунок 1: Укладка блоков и система координат
Все блоки имеют ширину в одну единицу. Вы смоделировали изогнутые грани в виде кубических полиномов, с левой гранью блока при x = 0 и правой гранью при x = 1.
Входные данные
Каждый тестовый случай задается на двух строках, каждая из которых содержит четыре вещественных числа. Числа в первой строке, b_0 b_1 b_2 b_3, описывают форму верхней грани нижнего блока. Эта грань имеет форму, подобную полиному b_0 + b_1 x + b_2 x^2 + b_3 x^3 для 0 ≤ x ≤ 1. Числа в следующей строке ввода, t_0 t_1 t_2 t_3, описывают нижнюю грань блока, который будет сверху. Эта грань имеет форму, подобную полиному t_0 + t_1 x + t_2 x^2 + t_3 x^3 для 0 ≤ x ≤ 1. Ни одно входное значение не будет иметь величину больше 50000. Всего не более 500 тестовых случаев. Ввод заканчивается в конце файла.
Выходные данные
Для каждого тестового случая выведите одну строку, указывающую качество подгонки. Ответ считается правильным, если его абсолютная или относительная ошибка не превышает 10^−6.