1 条题解

  • 0
    @ 2023-12-5 13:47:23
    #include<bits/stdc++.h>
    int n,m,k,s,t,d;
    struct node
    {
        double l,r;
    }a[100001];
    bool cmp(node x,node y)
    {
        return x.r<y.r;
    }
    int main()
    {
        std::cin>>n>>d;
        int bo=0;
        for(int i=1;i<=n;i+=1)
        {
            std::cin>>s>>t;
            if(t>d)bo=1;
            else
            {
                double p=sqrt(d*d-t*t);
                a[i]={s-p,s+p};
            }
        }
        std::sort(a+1,a+n+1,cmp);
        int ans=0;
        double now=-2000000000;
        for(int i=1;i<=n;i+=1)if(a[i].l>now)
        {
            ans+=1;
            now=a[i].r;
        }
        if(bo)ans=-1;
        std::cout<<ans<<"\n";
    }
    
    • 1

    信息

    ID
    574
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    (无)
    递交数
    266
    已通过
    88
    上传者