提交时间:2026-01-04 15:23:39
运行 ID: 80605
#include<iostream> #include<cstring> #include<algorithm> #include<cmath> using namespace std; int x11,y11,x22,y22,n,minn=4000010; struct DI { int d1,d2,i; }di[1000010]; bool cmp(DI a,DI b){ return a.d1<b.d1; }int main() { cin>>x11>>y11>>x22>>y22>>n; int x[n+5],y[n+5]; memset(di,0,sizeof(di)); for(int i=1;i<=n;i++){ cin>>x[i]>>y[i]; di[i].d1=pow(x[i]-x11,2)+pow(y[i]-y11,2); di[i].i=i; }sort(di+1,di+n+1,cmp); for(int i=n;i>0;i--){ int a; a=pow(x[di[i].i]-x22,2)+pow(y[di[i].i]-y22,2); di[i].d2=max(a,di[i+1].d2); }for(int i=0;i<=n;i++){ int a; a=di[i].d1+di[i+1].d2; minn=min(a,minn); }cout<<minn; return 0; }