Submission #1255730

#TimeUsernameProblemLanguageResultExecution timeMemory
1255730NipphitchMobile (BOI12_mobile)C++20
0 / 100
259 ms16092 KiB
#include <bits/stdc++.h> using namespace std; #define int long long const int N=1e6+5; const int T=1e5; const int INF=1e14+7; int n,d,x[N],y[N]; bool ck(int mid){ long double mnhi=1e18,mxlo=-1e18; for(int i=1;i<=n;i++){ if(y[i]>mid) return false; long double dx=sqrt((long double)mid*mid-(long double)y[i]*y[i]); mxlo=max(mxlo,(long double)x[i]-dx); mnhi=min(mnhi,(long double)x[i]+dx); } return (mnhi>=mxlo && !(0>mnhi || d<mxlo)); } signed main() { ios::sync_with_stdio(0); cin.tie(0); cin >> n >> d; d*=T; for(int i=1;i<=n;i++){ cin >> x[i] >> y[i]; x[i]*=T; y[i]*=T; } int l=0,r=INF; while(l<r){ int mid=l+(r-l)/2; if(ck(mid)) r=mid; else l=mid+1; } cout << l/T << "."; int rem=l%T; string s=to_string(rem); while(s.size()<5) s='0'+s; cout << s; }
#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...