记录编号 585496 评测结果 AAAAAAAAAA
题目名称 [NOIP 2010PJ]导弹拦截 最终得分 100
用户昵称 Gravatar┭┮﹏┭┮ 是否通过 通过
代码语言 C++ 运行时间 0.063 s
提交时间 2023-12-14 20:09:57 内存使用 1.95 MiB
显示代码纯文本
#include <bits/stdc++.h> 
using namespace std;
#define ll long long
const int N = 1e5+10;
int a,b,c,d,n;
int dis(int x,int y,int xx,int yy){
    return (x-xx)*(x-xx)+(y-yy)*(y-yy);
}
struct made{
    int x,y;
    bool operator < (const made &u)const{
        return x > u.x;
    }
}e[N];
int main(){
    freopen("missile2.in","r",stdin);
    freopen("missile2.out","w",stdout);
    scanf("%d%d%d%d%d",&a,&b,&c,&d,&n); 
    for(int i = 1;i <= n;i++){
        int x,y;
        scanf("%d%d",&x,&y);
        e[i].x = dis(x,y,a,b),e[i].y = dis(x,y,c,d);
    }
    sort(e+1,e+1+n);
    int ans = e[1].x,s1 = 0;
    for(int i = 2;i <= n;i++){
        s1 = max(s1,e[i-1].y);
        ans = min(ans,s1+e[i].x);
    }
    printf("%d\n",ans);
    
    return 0;
    
}