【洛谷】P1158 导弹拦截(题解)

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;
}
发布了21 篇原创文章 · 获赞 0 · 访问量 179

猜你喜欢

转载自blog.csdn.net/zhaoweiming2019/article/details/104265339