P158 导弹拦截
题解:
#include<bits/stdc++.h>
using namespace std;
struct ca{
int o,p;
}o[100005];
int cmp(ca a,ca b){
return a.o>b.o;
}
int cccc(int x,int y,int a,int b){
double d;
d=pow(x-a,2)+pow(y-b,2);
return d;
}
int main(){
int n;
int x1,y1,x2,y2,a,b,c=0,w=1e9;
cin>>x1>>y1>>x2>>y2>>n;
for(int i=1;i<=n;i++){
cin>>a>>b;
o[i].o=cccc(x1,y1,a,b);
o[i].p=cccc(x2,y2,a,b);
}
sort(o+1,o+1+n,cmp);
for(int i=1;i<=n;i++){
w=min(w,o[i].o+c);
c=max(c,o[i].p);
}
w=min(c,w);
cout<<w;
return 0;
}