1 条题解

  • 0
    @ 2023-10-22 10:44:11
    #include <bits/stdc++.h>
    using namespace std;
    struct missile
    {
        int la,lb;  
    }a[100010];
    bool cmp(missile a,missile b)
    {
        return a.la<b.la;
    }
    int main()
    {
        int xa,xb,ya,yb,n;
        cin>>xa>>ya>>xb>>yb>>n;
        for(int i=1;i<=n;i++)
        {
            int x,y;
            scanf("%d %d",&x,&y);
            a[i].la=(x-xa)*(x-xa)+(y-ya)*(y-ya);
            a[i].lb=(x-xb)*(x-xb)+(y-yb)*(y-yb);
        }
        sort(a+1,a+n+1,cmp);
        int ans=a[n].la;
        int maxb=0;
        for(int i=n-1;i>=1;i--)
        {
            if(maxb<a[i+1].lb) maxb=a[i+1].lb;
            ans=min(ans,a[i].la+maxb);
        }
        cout<<ans;
        return 0;
    }
    
    • 1

    信息

    ID
    159
    时间
    1000ms
    内存
    125MiB
    难度
    3
    标签
    递交数
    6
    已通过
    3
    上传者