ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

1304. Параллелепипед

Ограничение времени: 0.5 секунды
Ограничение памяти: 64 МБ
Две противоположные вершины прямоугольного параллелепипеда A с рёбрами, параллельными осям координат, имеют координаты (0,0,0) и (u,v,w) соответственно (0 < u < 1000, 0 < v < 1000, 0 < w < 1000).
Множество S из n точек задается тройками координат (x(i), y(i), z(i)), 1 ≤ i ≤ n ≤ 50, при этом ни одна пара точек из S не лежит на прямой, параллельной какой-либо грани A.
Найти такой прямоугольный параллелепипед G максимального объёма, что все его ребра параллельны ребрам A, G полностью лежит в A (G и A могут иметь общие граничные точки) и ни одна точка из S не лежит внутри G (но может лежать на его границе).

Исходные данные

В 1-й строке находятся числа u, v, w, разделённые одним пробелом. Во 2-й строке - целое число n, в 3-й, …, (n+2)-й строках - числа x(i), y(i), z(i), разделённые одним пробелом.
Все координаты лежат в пределах от 0 до 1000 и записаны не более чем с двумя десятичными знаками после десятичной точки.

Результат

Программа должна выдавать единственное число – величину объёма G с двумя десятичными знаками. В случае, если истинный объём параллелепипеда G содержит больше двух десятичных знаков, следует произвести округление до двух знаков по обычным математическим правилам.

Пример

исходные данныерезультат
1.0 1.0 1.0
1
0.5 0.5 0.5
0.50
Источник задачи: II Командный студенческий чемпионат Урала по программированию. Екатеринбург, 3-4 апреля 1998 г.