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

Кривые маленькие бутылки

Кривые маленькие бутылки

Во время своих велосипедных туров вокруг Варшавы, Джилл наткнулась на магазин, который продавал интересные стеклянные бутылки. Она подумала, что смогла бы создать интересный проект по использованию таких бутылок для измерения жидкостей. Но для этого потребовалось бы размещение меток на бутылках для обозначения различных объемов. Но где же разместить эти метки? Джилл сформулировала задачу следующим образом. Предположим, что бутылка образована вращением графика функции, являющейся полиномом \textbf{P} между \textbf{x = x_low} и \textbf{x = x_high}, вокруг оси \textbf{Оx}. То есть ось \textbf{Оx} совпадает с вертикальной прямой, проходящей через центр бутылки. Низ бутылки представляет собой сплошную круговую область, находящуюся в \textbf{x = x_low}, а верх бутылки находится в \textbf{x = x_high} и является открытой областью. Первый тест описывает бутылку, образованную многочленом \textbf{4 - 0.25x}, с \textbf{x_low = 0} и \textbf{x_high = 12}. Низом бутылки является круг радиуса \textbf{4}, а верх (открытая область) представляет собой круг радиуса \textbf{1}. Высота бутылки равна \textbf{12}. Шаг маркировки объема составляет \textbf{25}. По заданным многочлену \textbf{P}, значениям \textbf{x_low} и \textbf{x_high}, а также величине шага между последовательными метками объемов бутылки, следует вычислить расстояния от \textbf{x_low} до этих меток. Метка не должна выходить за границы верха бутылки, и не более чем \textbf{8} шагов должны быть промаркированы. Значение многочлена \textbf{P} больше нуля везде между \textbf{x_low} и \textbf{x_high}. \InputFile Каждый тест состоит из трех строк, описывающих бутылку: \begin{itemize} \item Строка \textbf{1}: \textbf{n} - степень многочлена (целое число, \textbf{0} ≤ \textbf{n} ≤ \textbf{10}). \item Строка \textbf{2}: \textbf{a_0}, \textbf{a_1}, ..., \textbf{a_n} - действительные коеффициенты многочлена \textbf{P}, определяющие форму бутылки, где \textbf{a_0} - константа, \textbf{a_1} - коеффициент при \textbf{x^1}, ..., а \textbf{a_n} - коеффициент при \textbf{x^n}. Для каждого \textbf{i}, \textbf{-100} ≤ \textbf{a_i} ≤ \textbf{100}, и \textbf{a_n} ≠ \textbf{0}. \item Строка \textbf{3}: \begin{itemize} \item \textbf{x_low} и \textbf{x_high} - действительные значения, границы бутылки (\textbf{-100} ≤ \textbf{x_low} < \textbf{x_high} ≤ \textbf{100} и \textbf{x_high}-\textbf{x_low} > \textbf{0.1}). \item \textbf{inc} - целое число, шаг маркировки объема бутылки (\textbf{1} ≤ \textbf{inc} ≤\textbf{ 500}). \end{itemize} \end{itemize} \OutputFile Для каждого теста вывести в одной строке его номер и объем полной бутылки. Во второй строке следует вывести последовательность из не более чем \textbf{8} последовательных расстояний от низа бутылки до меток объема. Значения объемов и высот меток следует выводить с точностью до двух десятичных знаков. Если на бутылке не возможно поставить ни одной метки, то следует вывести фразу \textbf{insufficient volume}. Ни в одном тесте не будет метки, находящейся на расстоянии до \textbf{0.01} от верха бутылки. Объем бутылки не превосходит \textbf{1000}. Все округленные значения расстояний до меток на бутылке разнятся как минимум на \textbf{0.05}.
Лимит времени 3 секунды
Лимит использования памяти 256 MiB
Входные данные #1
1
4.0 -0.25
0.0 12.0 25
Выходные данные #1
Case 1: 263.89
0.51 1.06 1.66 2.31 3.02 3.83 4.75 5.87
Источник ACM-ICPC World Finals 2012