Submission #1310459

#TimeUsernameProblemLanguageResultExecution timeMemory
1310459artoria_hermesMobile (BOI12_mobile)C++20
100 / 100
475 ms8260 KiB
// Tonight Gehrman Sparrow joins the hunt
#include<bits/stdc++.h>
using namespace std;
#define endl "\n"
#define Monarch_of_Decay ios_base::sync_with_stdio(false);
#define Son_of_Chaos cin.tie(nullptr);
#define Mother_Goddess_of_Depravity cout.tie(nullptr);
#define Inextinguishable_Ravings freopen("template.inp", "r", stdin);
#define Lord_of_The_Mysteries freopen("template.out", "w", stdout);
#define Circle_of_Inevitability ONLINE_JUDGE
#define Primordial signed
#define God_Almighty main()
#define getbit(x,y) ((x>>y)&1)

// The Fool That Does Not Belong To This Era 
// The Mysterious Ruler Above The Grey Fog 
// The King Of Black And Yellow Who Wields Good Luck 

// MIND THE MINOR DETAILS

int n,l;
pair<int,int> a[1000005];
const double eps = 1e-7;

bool check(double mx)
{
  double lim=0.0;
  for (int i=1; i<=n; i++)
  {
    double lower_pos = double(a[i].first) - sqrt(mx*mx - double(a[i].second)*double(a[i].second));
    double upper_pos = double(a[i].first) + sqrt(mx*mx - double(a[i].second)*double(a[i].second));
    if (lower_pos <= lim) lim=max(lim, upper_pos);
  }
  return (lim >= l);
}

Primordial God_Almighty
{
	Monarch_of_Decay 
  Son_of_Chaos
  Mother_Goddess_of_Depravity

	cin >> n >> l;
  for (int i=1; i<=n; i++) cin >> a[i].first >> a[i].second;
  double l=0, r=4*1e9, ans=0;
  while (r-l>eps)
  {
    double mid = (l+r)/2;
    if (check(mid))
    {
      ans=mid;
      r=mid;
    } else l=mid;
  }
  cout << fixed << setprecision(6) << ans;
	return 0;
}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...