Submission #1249174

#TimeUsernameProblemLanguageResultExecution timeMemory
1249174somefolkMobile (BOI12_mobile)C++20
0 / 100
1096 ms48172 KiB
#include <iostream> #include <cmath> #include <algorithm> #include <string> #include <vector> #include <map> #include <unordered_map> #include <queue> #include <set> #include <unordered_set> #include <complex> #include <list> #include <cassert> #include <chrono> #include <random> #include <stack> #include <iomanip> #include <fstream> using namespace std; #define endl "\n" #define int long long const int INF = 1e9+7; const int MOD = 1e9+7; void solve(){ int n; double m; cin >> n >> m; vector<pair<double, double>> a(n); for(int i = 0; i < n; i++){ cin >> a[i].first >> a[i].second; } auto check = [&](double R){ vector<pair<double, double>> pt; for(auto &[x, y] : a){ if(y-R>0) continue; pt.push_back({x-sqrt(R*R-y*y), x+sqrt(R*R-y*y)}); } sort(pt.begin(), pt.end()); if(pt[0].first > 0) return false; double r = pt[0].second; for(int i = 1; i < n; i++){ if(pt[i].first > r){ return false; } r = max(r, pt[i].second); } return true; }; double l = 0, r = 1e18, sol = 0; while(r-l > 1e-3){ double mid = (l+r)/2; if(check(mid)){ sol = mid; r = mid; } else { l = mid; } } cout << fixed << setprecision(4) << sol << endl; } int32_t main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); int t = 1; // cin >> t; while(t--) solve(); 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...