https://www.luogu.com.cn/problem/P1158
#include<iostream>
#include<map>
using namespace std;
struct node{
int x;
int y;
}arr[100001];
int main(){
int x1, y1, x2, y2, n;
int dis1, dis2, max1 = 0, max2 = 0, sum = 0;
cin >> x1 >> y1 >> x2 >> y2;
cin >> n;
for (int i = 0; i < n; i++){
cin >> arr[i].x >> arr[i].y;
dis1 = (x1 - arr[i].x)*(x1 - arr[i].x) + (y1 - arr[i].y)*(y1 - arr[i].y);
dis2 = (x2 - arr[i].x)*(x2 - arr[i].x) + (y2 - arr[i].y)*(y2 - arr[i].y);
if (dis1 < dis2){
if (dis1 > max1){
max1 = dis1;
}
}
else{
if (dis2 > max2){
max2 = dis2;
}
}
}
sum = max1 + max2;
cout << sum << endl;
return 0;
}