全部评论 1

  • 没想到吧,代码在这里

    #include <bits/stdc++.h>
    using namespace std;
    int fun(int a,int b,int c,int d){
        return (a - c) * (a - c) + (b - d) * (b - d);
    }
    struct bomb{
    	int l1,l2;
    }f[110000];
    inline bool cmp(const bomb &a,const bomb &b){
        return a.l1 < b.l1;
    }
    int main( ){
    	int n,i,j,k,a,b,c,d,y,z;
    	cin >> a >> b >> c >> d;
    	cin >> n;
    	for(i = 1;i <= n;i ++){
    		cin >> y >> z;
    		f[i].l1 = fun(a,b,y,z);
    		f[i].l2 = fun(c,d,y,z);
    	}
    	sort(f + 1,f + n + 1,cmp);
    	int ans = f[n].l1,u = -1;
    	for(i = n - 1;i >= 1;i --){
    		u = max(u,f[i + 1].l2);
    		ans = min(ans,u + f[i].l1);
    	}
    	cout<<ans<<endl;
        return 0;
    }
    

    3天前 来自 北京

    0
首页