Submission #1019417

#TimeUsernameProblemLanguageResultExecution timeMemory
1019417ThunnusMobile (BOI12_mobile)C++17
100 / 100
370 ms35412 KiB
#include<bits/stdc++.h> using namespace std; using i64 = long long; #define int i64 #define vi vector<int> #define vvi vector<vi> #define vb vector<bool> #define pii pair<int, int> #define fi first #define se second #define sz(x) (int)(x).size() const double ERROR = 1e-3; int n, l; inline bool check(double r, vector<pii> &stations){ double prev_end = 0; for(int i = 0; i < n; i++){ double a = sqrt(r * r - stations[i].se * stations[i].se); double left_endpoint = stations[i].fi - a, right_endpoint = stations[i].fi + a; if(left_endpoint <= prev_end) prev_end = max(right_endpoint, prev_end); } return prev_end >= l; } signed main(){ ios_base::sync_with_stdio(false); cin.tie(0); cin >> n >> l; vector<pii> stations(n); for(pii &p : stations) cin >> p.fi >> p.se; double lo = 0, hi = 1.5e9, mid; while(hi - lo > ERROR){ mid = (hi + lo) / 2; if(check(mid, stations)) hi = mid; else lo = mid; } cout << fixed << setprecision(9) << hi; 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...