eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Змішування рідин

Змішування рідин

На засіданні товариства "Меча та орала" чисто з конспіративною метою ганяють чаї і ще багато чого. У гарячий чай добавляють холодне молоко. При цьому, звичайно, кожен хоче, щоб його суміш досягла необхідної температури якомога швидше. Вимірювання температури суміші відбувається за експоненціальним законом: \includegraphics{https://static.e-olymp.com/content/65/656a7a6789c20f278a74d48b372c3356d1f0f14a.jpg} , де \textbf{T(t)} ― температура у момент часу \textbf{t}, \textbf{T_1} ― температура суміші у початковий момент часу, \textbf{T_0} ― температура оточуючого середовища, \textbf{k} ― деякий постійний коефіцієнт. При змішуванні двох рідин з масами \textbf{m_1} та \textbf{m_2} і температурами \textbf{T_1} та \textbf{T_2} отримується суміш з температурою \includegraphics{https://static.e-olymp.com/content/90/9085fc82da9209f632ee4c6f0490eae361c7ee40.jpg} Будемо вважати, що питомі теплоємності усіх рідин на цьому чаюванні однакові Температура першої рідини відразу у початковий момент часу починає змінюватись за наведеним вище експоненційним законом, у довільний момент часу мы можемо її миттєво змішати з другою рідиною ― її температура весь цей час постійна і дорівнює \textbf{T_2}, після чого температура отриманої суміші змінюється за тим же законом і з тим же коефіцієтом \textbf{k} та новою температурою \textbf{T_1^\{′\}}. Нам же потрібно порахувати мінімальний час, за який суміш, що приготавлюється, може досягти необхідної температури. \InputFile У першому рядку вхідного файлу записано одне ціле число \textbf{N} ― кількість тестів. Далі йде \textbf{N} рядків, у кожному з яких по сім цілих чисел \textbf{T_0}, \textbf{T_1}, \textbf{T_2}, \textbf{m_1}, \textbf{m_2}, \textbf{T_opt}, \textbf{k}. Відповідно, \textbf{T_0}, \textbf{T_1}, \textbf{T_2}, \textbf{T_opt} --- температури оточуючого середовища, першої та другої рідини та температура, яку нам необхідн отримати (\textbf{--273} < \textbf{T_0}, \textbf{T_1}, \textbf{T_2}, \textbf{T_opt} ≤ \textbf{1000}), \textbf{m_1} та \textbf{m_2} --- маси першої та другої рідини (\textbf{0} ≤ \textbf{m_1}, \textbf{m_2} ≤ \textbf{1000}, \textbf{m_1+m_2} > \textbf{0}), \textbf{k} --- коефіцієнт, який відповідає за швидкість зміни температури (\textbf{1} ≤ \textbf{k} ≤ \textbf{1000}). \OutputFile У кожен з \textbf{N} рядків у відповідності з послідовністю даних у вхідному файлі вивести по одному дійсному числу ― мінімальний час, за який ми можемо отримати суміш потрібної температури, порахований з відносною чи абсолютною похибкою не більше \textbf{10^\{−8\}} або повідомлення \textbf{Impossible}, якщо досягти потрібної температури ніколи не вдасться.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
2
0 1 1 10 10 1 1
0 1 1 10 10 0 1
Вихідні дані #1
0
Impossible
Джерело Очний тур XIII Відкритої Всесибірської олімпіади з програмування імені І.В. Поттосіна