0分求助大佬
#include <iostream>
#include <algorithm>
using namespace std;
int x1, x2, y1, y2;
int n;
const int N = 100020;
int a[N];
int distance(int x1, int y1, int x2, int y2)
{
return (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);
}
int d1[N], d2[N];
int main()
{
cin >> x1 >> x2 >> y1 >> y2 >> n;
for (int i = 1; i <= n; i++)
{
int x, y;
cin >> x >> y;
d1[i] = distance(x, y, x1, y1);
d2[i] = distance(x, y, x2, y2);
}
sort(d1 + 1, d1 + n + 1);
int ans = d1[n], maxn = -1e9;
for (int i = n - 1; i >= 1; i--)
{
maxn = max(maxn, d2[i + 1]);
ans = min(ans, maxn + d1[i]);
}
cout << ans;
return 0;
}
感觉写的有很多问题,找到告诉我,谢谢