Submission #1149991

#TimeUsernameProblemLanguageResultExecution timeMemory
1149991sitingfakeMobile (BOI12_mobile)C++20
100 / 100
318 ms16096 KiB
#include<bits/stdc++.h> using namespace std; #define execute cerr << "Time elapsed: " << (1.0 * clock() / CLOCKS_PER_SEC) << "s"; #define ll long long #define int long long #define ii pair<int,int> #define se second #define fi first #define iii pair<int,ii> #define all(v) v.begin(),v.end() #define bit(x,i) ((x>>(i))&1) #define flip(x,i) (x^(1<<(i))) #define ms(d,x) memset(d,x,sizeof(d)) #define INF 0x3f #define sitingfake 1 #define orz 1 const ll mod=1e9+7; const long long linf=4557430888798830399; const int inf=1061109567; const int maxarr=1e6+5; const double pi=acos(-1); const int dx[]={0,1,-1,0}; const int dy[]={1,0,0,-1}; const int maxn=1e6+8; int n,L; ii Point[maxn]; bool check(long double x) { long double cur=0; for(int i=1;i<=n;i++) { if(x*x-Point[i].se*Point[i].se<0) continue; long double tmp=sqrt(x*x-Point[i].se*Point[i].se); long double X=Point[i].fi-tmp,Y=Point[i].fi+tmp; if(X<=cur)cur=max(cur,Y); } return cur<L; } signed main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin>>n>>L; for(int i=1;i<=n;i++) { cin>>Point[i].fi>>Point[i].se; } long double l=0,r=1.5e9,ans; while(r-l>1e-3) { long double mid=(r+l)/2.0; if(check(mid)) { ans=mid; l=mid; } else r=mid; } cout<<fixed<<setprecision(4)<<ans; //execute; }
#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...