printРабочее место участника

printЗадачи

2177. Раздел королевства

Ограничения: время – 200ms/500ms, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Король решил разделить королевство между двумя своими сыновьями. При этом он хочет минимизировать будущие расходы на административное управление новыми королевствами. В королевстве `N` городов. Нужно выбрать два города — столицы королевств, а остальные города разделить между этими королевствами. Так как расходы на управление прямо зависят от расстояния до столицы королевства, то город нужно включать в то королевство, расстояние до столицы которого меньше. При равенстве расстояний до столиц город можно включить в любое из королевств. Будущие столицы нужно выбрать так, чтобы сумма расстояний от столиц до городов, включенных в соответствующее королевство, было минимальным.
Напишите программу, которая определит по координатам городов, какие города нужно сделать столицами новых королевств.
Первая строка ввода содержит одно целое число `N` (`4\ ≤\ N\ ≤\ 100`) – количество городов. Далее следует `N` строк, содержащих по два целых чисел в диапазоне от 0 до 1000 – координаты городов. Все координаты попарно различны.
Вывести в первой строке два целых числа – номера городов, которые нужно сделать столицами. Номера должны быть выведены в порядке возрастания. Если существует несколько вариантов, минимизирующих расходы на управление, то можно вывести любой из них.

Пример ввода

6
0 0
10 0
20 0
0 20
10 20
20 20

Пример вывода

2 5
loading