Описание задачи
Муравей находится на доске, имеющей форму выпуклого многоугольника. Он идет прямо в том направлении, в котором смотрит, но не знает, в каком направлении то. Если он достигнет края доски, он упадет. Учитывая положение Муравья и позиции вершин, которые составляют выпуклый многоугольник доски, определите кратчайшее расстояние, которое он может пройти, прежде чем упасть с доски. Все позиции заданы в 2D координатах.
Входные данные
Первая строка содержит два целых числа и , представляющих координаты Муравья (, ).
Вторая строка содержит целое число , представляющее количество вершин многоугольника ().
Следующие строк содержат целые числа и (), представляющие координаты вершин многоугольника, заданные в порядке обхода против часовой стрелки.
Все входные значения являются целыми числами. Точка гарантированно находится строго внутри многоугольника (не на границе), и многоугольник гарантированно является выпуклым.
Выходные данные
Выведите кратчайшее расстояние, которое Муравей может пройти, прежде чем упасть с доски, в одной строке. Вывод будет принят, если абсолютная ошибка или относительная ошибка не превышает .
Система оценки
| Подзадачи | Дополнительные ограничения | Баллы | Требуемые подзадачи |
|---|---|---|---|
| 0 | Пример | 0 | — |
| 1 | 25 | — | |
| 2 | , гарантируется, что стороны параллельны осям координат | 15 |
Примеры
0 0 4 100 100 -100 100 -100 -100 100 -100
100
10 10 3 0 100 -100 -100 100 -100
31.3049516850
34 6 7 -43 -65 -23 -99 54 -68 65 92 16 83 -18 43 -39 2
25.0284205314