Contest.samsu.ru :: соревнования по программированию
Русская версия || English version
Login:
Password:
Забыли пароль?
 пример поиска: Вася Пупкин
 

Задача I. Излишняя поспешность

Задачу добавил: alef

Успешно сдано решений: 18

Ограничения: время на тест - 2с, память - 256 Мб

Василий мог быть доволен собой - у него были все комплектующие, задание Очень Мудрого Руководителя было практически выполнено. Остались сущие мелочи - собрать ноутбук. Но это уже дело техников, они чего-нибудь придумают. Если не считать небольших неприятностей с зомби в системе Сириуса, командировка прошла весьма гладко. Так ему казалось, пока экспресс нес его в сторону телепорта. Да, все настолько гладко быть не могло. Телепорт закрыт на ближайшие двое суток в связи с профилактикой оборудования, а ближайший находится на окраине планетной системы. И, конечно, ежедневный рейс туда с космодрома отправился полчаса назад.

Огорченного Василия окликнули: не желает ли он отправиться к ближайшему телепорту на космическом такси? Недорого, переплата всего 20%, зато без остановок, замечательный комфортный корабль. Собран, кстати, не где-нибудь, а в планетной системе Бетельгейзе.

Корабль выглядел весьма достойно, и Василий решил согласиться - перспектива провести сутки на этой планете его не прельщала. Спустя полчаса они с Анируддха (так звали космотаксиста, "можешь звать Руди") уже получили разрешение на взлет. Василий задремал - все же несколько часов полета.
Проснулся он от резкого толчка. Оказывается, какой-то мелкий астероид пробил не только обшивку корабля, но и попал в систему подачи горючего. Руди в режиме планера посадил корабль на ближайшую планету.
- Ничего страшного, - успокаивал он Василия. - Сейчас включу режим регенерации, через полчаса будем готовы к старту.

Василий был бы готов с ним согласиться, но в паре сотен метров виднелся явно брошенный довольно крупный корабль. И это внушало ему не самые хорошие мысли. Руди поймал его взгляд:
- Это старая история. Когда-то давно пролету мешали не только астероиды, но и бандиты. У них тут была база. Но это было совсем давно, я еще права на полеты не получил. А летаю уже много лет.
На табло высветилось "Процесс регенерации полностью завершен. Запустить двигатели?"
- Ну вот, сейчас полетим. Еще и рейсовый обгоним, - Руди проверял состояние бортовых систем, и вдруг нахмурился. - Не обгоним. Топлива даже на обратную дорогу не хватает. Придется эвакуатор вызывать. Специфическое у моего корабля топливо. Никто не повезет, под него специальную емкость надо, с обычными оно сразу в реакцию вступает. Лучше всего емкость с внутренним слоем из одного редкого минерала. Когда первый раз техобслуживание проходил в системе Бетельгейзе, мне небольшой бак из него подарили, а я вот... пустым его вожу.  

Выяснилось, что "прямо сейчас" все эвакуаторы заняты, и как только какой-нибудь освободится, с Руди сразу же свяжутся. В ожидании они с Василием вышли прогуляться и вскоре набрели на еще один брошенный корабль, эмблема на котором выдавала его происхождение из системы Бетельгейзе. Руди и Василий переглянулись и полезли смотреть топливный бак. Да, в нем было топливо.

Оставив Василия в корабле, Анируддха надел специальную маску (топливо токсично), взял бачок и отправился к найденному источнику топлива. Анируддха может закрепить бачок на палке, подвесив его либо строго вертикально, либо строго горизонтально и в таком виде опустить в топливный бак. У бачка есть крышка, которую Анируддха может закрыть перед тем, как вытаскивать бачок. Ваша задача - определить, какое максимальное количество топлива он сможет набрать в бачок.

Топливный бак имеет цилиндрическую форму (радиус R, высота в рамках задачи может считаться сколь угодно большой), в котором налито топливо на высоту V.
Бачок также имеет цилиндрическую форму (радиус r, высота h). Считайте стенки бачка имеют нулевую толщину.

Если бачок закреплен горизонтально, объем наполнения определяется следующим образом: кладем цилиндр-бачок на бок и считаем, что зальется столько воды, каков объем части цилиндра с основанием в виде сегмента высоты V
(рисунок)

Формат входного файла input.txt
Первая строка - натуральные числа R, V, r (r < R), h через пробел; все числа не превосходят 1000
R - радиус топливного бака
V - высота топлива в баке
r - радиус бачка
h - высота бачка

Формат выходного файла output.txt
Первая строка - вещественное число с точностью не менее 6 знаков после запятой - максимально возможный объем топлива, который Анируддха сможет набрать в бачок.


Рисунок: возможное размещение бачка в баке:




Пример входного файла - 1
8 30 3 15

Пример выходного файла - 1
424.11500823462

Пример входного файла - 2
11 6 6 7

Пример выходного файла - 2
411.54863762026

Пример входного файла - 3
11 6 7 16

Пример выходного файла - 3
1008.26857450098

Сдать задачу

Задать вопрос жюри по этой задаче