제출 #1165854

#제출 시각아이디문제언어결과실행 시간메모리
1165854hikari1234Mobile (BOI12_mobile)C++20
0 / 100
633 ms16096 KiB
#include <bits/stdc++.h> using namespace std; #define int long long int n; double L; pair<double,double> a[1000005]; bool check(double mid){ double l=0; for(int i=0; i<n; i++){ double x=mid*mid-a[i].second*a[i].second; if(x<0){ continue; } double dx=sqrt(x); if(a[i].first-dx<=l){ l=a[i].first+dx; } } return l>=L; } signed main() { ios::sync_with_stdio(0); cin.tie(NULL); cout.tie(NULL); cin>>n>>L; for(int i=0; i<n; i++){ cin>>a[i].first>>a[i].second; } double lo=0, hi=2e10; for(int i=0; i<100; i++){ double mid=(lo+hi)/2; if(check(mid)){ hi=mid; } else{ lo=mid; } } cout<<fixed<<setprecision(18)<<lo<<endl; }
#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...