Submission #460579

#TimeUsernameProblemLanguageResultExecution timeMemory
460579shivensinha4Mobile (BOI12_mobile)C++17
22 / 100
1098 ms48108 KiB
#include <bits/stdc++.h> #ifdef mlocal #include "./Competitive-Code-Library/snippets/prettyprint.h" #endif using namespace std; #define for_(i, s, e) for (int i = s; i < (int) e; i++) #define for__(i, s, e) for (ll i = s; i < e; i++) typedef double ll; typedef vector<int> vi; typedef array<ll, 2> ii; #define endl '\n' const ll K = 1e5; int main() { #ifdef mlocal freopen("test.in", "r", stdin); #endif ios_base::sync_with_stdio(false); cin.tie(0); ll n, len; cin >> n >> len; len *= K; vector<ii> pts(n); for_(i, 0, n) { for_(j, 0, 2) { cin >> pts[i][j]; pts[i][j] *= K; } } ll l = 0, r = 1e15, ans = l; while (l < r) { ll mid = (l+r)/2; bool hole = false; vector<ii> seg; for_(i, 0, n) if (mid*mid >= pts[i][1]*pts[i][1]) { ll sq = sqrtl(mid*mid - pts[i][1]*pts[i][1]); seg.push_back({pts[i][0]-sq, pts[i][0]+sq}); } sort(seg.begin(), seg.end()); ll cr = 0; for (auto &i: seg) { if (cr >= len) break; if (i[0] <= cr) cr = max(i[1], cr); /*else { continue; // hole = true; // break; }*/ } if (hole or cr < len) { ans = mid; l = mid+1; } else r = mid; } cout << fixed << setprecision(10) << ans/K << 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...