Уничтожение дронов

Для каждого дрона оценим через сколько он сможет добраться до Ральфа, если будет двигаться по оптимальному маршруту. За каждый ход дрон может менять обе свои координаты на $$$1$$$. Таким образом дрону с в точке с координатами $$$x_i$$$ и $$$y_i$$$ понадобится $$$|x_i|$$$ ходов, чтобы оказаться на прямой $$$x = 0$$$, и $$$|y_i|$$$ ходов, чтобы оказаться на прямой $$$y = 0$$$. Соответственно в точке ($$$0$$$, $$$0$$$), в худшем для Ральфа случае, он сможет оказаться через $$$\max(|x_i|, |y_i|)$$$ ходов. Примем эту величину за расстояние дронов до Ральфа.

Заметим, что выгоднее всего для Ральфа стрелять по дронам, расстояние до которых меньше. Отсортируем дронов по увеличению расстояния.

В каком случае Ральф не успеет уничтожить $$$i$$$-го дрона? В том случае, если расстояние до него будет меньше, чем число дронов с расстоянием не больше чем у него. Таким образом пройдемся по дронам в порядке увеличения расстояния и проверим, что $$$\max(|x_i|, |y_i|) >= i$$$ (нумерация дронов с $$$1$$$). Если для всех дронов это выполнено, то можно вывести их в порядке увеличения расстояний, иначе решений не существует.