Найти номера и координаты точек, наиболее удалённых друг от друга

На вход подаётся N точек, заданных парой координат x и y. Найти номера и координаты точек, наиболее удалённых друг от друга. Расстояние между точками определять с помощью функции. (2 балла вы получаете за полное соблюдение формата вывода) У меня была вот такая идея для кода, но дальше немного не понимаю, что сделать, то ли сравнивать каждый элемент массива, то ли что

import math
def f(x1,y1,x2,y2):
    return math.sqrt(((x2-x1)**2 + (y2-y1)**2))
mas_x = []
mas_y = []
numbers = int(input())
for i in range(numbers):
    x,y = map(int,input().split())
    mas_x.append(x)
    mas_y.append(y)

Ответы (1 шт):

Автор решения: MBo

В паре вложенных циклов обходите все пары точек.

for i in range(numbers):
   for j in range(i+1, numbers):
       dist = f(mas_x[i],mas_y[i],mas_x[j],mas_x[j])

Для более оптимального решения (я думаю, в вашем случае этого не требуется)- строите выпуклую оболочку (convex hull), проходите по ней с помощью rotating calipers.

→ Ссылка