Submission #1241861

#TimeUsernameProblemLanguageResultExecution timeMemory
1241861simplemind_31Mobile (BOI12_mobile)C++20
0 / 100
388 ms15944 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; ll n,L,con; int main(){ ios_base::sync_with_stdio(0); cin.tie(0);cout.tie(0); cin >> n >> L; vector<pair<ll,ll>> point(n); for(int i=0;i<n;i++){ cin >> point[i].first >> point[i].second; } ll l=0,r=3e9; while(l<r){ ll mid=(l+r)>>1; //radio mid; pair<ll,ll> last={0,0}; for(int i=0;i<n;i++){ ll dist=sqrtl(mid*mid-point[i].second*point[i].second); pair<ll,ll> now={point[i].first-dist,point[i].first+dist}; if(last.second>=now.first){ last.second=now.second; }else{ break; } } if(last.second>=L){ r=mid; }else{ l=mid+1; } } ld iz=l-1,de=l; while(con<64){ ld mid=(iz+de)/2; pair<ld,ld> last={0,0}; for(int i=0;i<n;i++){ ld dist=sqrtl(mid*mid-(point[i].second*point[i].second)); pair<ld,ld> now={((ld)point[i].first)-dist,((ld)point[i].first)+dist}; if(last.second>=now.first){ last.second=now.second; }else{ break; } } if(last.second>=L){ de=mid; }else{ iz=mid; } con++; } cout << fixed << setprecision(6) << iz; }
#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...