Codeforces Round #444 (Div. 2), problem: (E) Little Brother Solution In C/C++

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<algorithm>
#include<cstdlib>
#define eps 1e-7
using namespace std;
double x[100010],y[100010],r[100010],L;
struct node{double l,r;}a[100010];
struct P{double x,y;}A,B,M,s,O,p[100010];
int n;
inline double dis(P a,P b){return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));}
inline P operator-(P a,P b){return (P){a.x-b.x,a.y-b.y};}
inline double operator*(P a,P b){return a.x*b.y-a.y*b.x;}
inline bool cmp(node a,node b){return a.l<b.l;}
int main()
{
cin>>A.x>>A.y>>B.x>>B.y;
if(A.x>B.x) swap(A,B);
L=dis(A,B);
M=(P){(A.x+B.x)/2,(A.y+B.y)/2};
s=(P){1.0*(A.x-B.x)/L,1.0*(A.y-B.y)/L};
cin>>n;
for(int i=1;i<=n;i++)
{
scanf(“%lf%lf%lf”,&p[i].x,&p[i].y,&r[i]);
if((p[i]-A)*(B-A)<=0)
{
double l=-1e12,r=1e12;
while(r-l>eps)
{
double mid=(l+r)/2;
O=(P){M.x+s.y*mid,M.y-s.x*mid};
if(dis(O,p[i])>=::r[i]+dis(O,A)) l=mid;
else r=mid;
}
a[i].l=r;
l=-1e12; r=1e12;
while(r-l>eps)
{
double mid=(l+r)/2;
O=(P){M.x+s.y*mid,M.y-s.x*mid};
if(dis(O,p[i])<=dis(O,A)-::r[i]) r=mid;
else l=mid;
}
a[i].r=l;
}
else
{
double l=-1e12,r=1e12;
while(r-l>eps)
{
double mid=(l+r)/2;
O=(P){M.x+s.y*mid,M.y-s.x*mid};
if(dis(O,p[i])>=::r[i]+dis(O,A)) r=mid;
else l=mid;
}
a[i].r=r;
l=-1e12; r=1e12;
while(r-l>eps)
{
double mid=(l+r)/2;
O=(P){M.x+s.y*mid,M.y-s.x*mid};
if(dis(O,p[i])<=dis(O,A)-::r[i]) l=mid;
else r=mid;
}
a[i].l=l;
}
}
sort(a+1,a+n+1,cmp);
double last=-1e12,ans=1e12;
for(int i=1;i<=n;i++)
{
if(last<=0 && a[i].l>=0){printf(“%0.10lf\n”,L/2); return 0;}
if(a[i].r<=last) continue;
if(a[i].l>last+eps) ans=min(ans,min(fabs(last),fabs(a[i].l)));
last=max(last,a[i].r);
}
ans= min(ans,fabs(last));
printf(“%0.10lf\n”,sqrt(ans*ans+L*L/4));
return 0;
}

Advertisement

spot_img

How Viral Kitchen Gadgets...

📢 As an Amazon Associate, I earn from qualifying...

Avengers: Armageddon #5 Preview:...

Tension Reaches a Breaking Point in Avengers: Armageddon #5 Marvel's...

7 Reasons This Viral...

📢 As an Amazon Associate, I earn from qualifying...

Can baby deer walk...

Witnessing a newborn animal take its very first steps...

Is the Anker MagGo...

The Long-Term Durability Assessment: 6 Months as a Daily...

Anker MagGo 3-in-1 vs...

The Heavyweight Showdown: Anker MagGo vs. Belkin BoostCharge Pro For...

How Viral Kitchen Gadgets Is Quietly Changing the Game

📢 As an Amazon Associate, I earn from qualifying purchases.Most products in this category disappoint within weeks. Cheap materials, vague instructions, and results that...

Avengers: Armageddon #5 Preview: Trust Issues Intensify

Tension Reaches a Breaking Point in Avengers: Armageddon #5 Marvel's mightiest heroes are once again staring down total catastrophe, but this time, the greatest danger...

7 Reasons This Viral Kitchen Gadgets Is Worth Every Single Penny

📢 As an Amazon Associate, I earn from qualifying purchases.I stumbled across this while desperately trying to fix a recurring problem in my routine....

Can baby deer walk right away?

Witnessing a newborn animal take its very first steps is one of the most heartwarming sights in the natural world. In the wild, however,...

Is the Anker MagGo 3-in-1 Worth $100? Long-Term Durability Review

The Long-Term Durability Assessment: 6 Months as a Daily Driver Spending $100 on a smartphone charging accessory is a significant consumer investment. When budget 3-in-1...

Anker MagGo 3-in-1 vs Belkin BoostCharge Pro 3-in-1: Which Is Better?

The Heavyweight Showdown: Anker MagGo vs. Belkin BoostCharge Pro For the past four years, if an Apple user wanted the absolute best 3-in-1 wireless charging...

Best Protective Travel Pouches and Cases for Anker MagGo 3-in-1

Protecting Your Premium Travel Power Investment The Anker MagGo 3-in-1 Foldable Charging Station is engineered for life on the move. With its collapsible form factor,...

How Fast Does Anker MagGo Charge iPhone 15 and 16 from 0 to 100%?

Putting Qi2 15W Speed Claims to the Test When wireless charging standards make technological leaps, consumer skepticism is natural. For years, marketing promises of "fast...

Does the Anker MagGo 3-in-1 Come with a 40W USB-C Power Brick and Cable?

The Hidden Cost of Wireless Chargers: What’s Really in the Box? In modern consumer electronics packaging, a frustrating cost-cutting trend has become commonplace: the omitted...