G. Теодор Рузвельт
1000 мс · 256 МБ · всё или ничего
Корабль - выпуклый многоугольник из вершин, заданных против часовой стрелки. По нему выпустили ракет; известны точки взрывов. Корабль уничтожен, если в него попало не меньше ракет - то есть если не меньше точек лежит внутри многоугольника или на его границе.
И , и доходят до , поэтому перебор всех сторон для каждой точки - это операций и заведомый перебор лимита. Нужен логарифм на точку.
Формат ввода
В первой строке - числа , , (, ).
В следующих строках - вершины выпуклого многоугольника против часовой стрелки, без трёх подряд идущих на одной прямой.
В следующих строках - точки взрывов. Все координаты целые, по модулю не превосходят .
Формат вывода
Выведите YES, если в многоугольнике или на его границе лежит не меньше точек, и NO иначе.
Примеры
ввод
5 4 2 1 -1 1 2 0 4 -1 2 -1 -1 -2 -1 1 -1 0 1 2 3
вывод
YES
ввод
4 3 3 0 0 4 0 4 4 0 4 2 2 4 2 5 5
вывод
NO
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.