Submission #941580

#TimeUsernameProblemLanguageResultExecution timeMemory
941580KavelmydexMobile (BOI12_mobile)C++17
35 / 100
1069 ms18616 KiB
#include <bits/stdc++.h> using namespace std; #define int long long // #define double long double #define ld long double #define pi pair<int,int> #define vi vector<int> #define rep(i,x,n) for(int i=x; i<n; ++i) #define For(i,n) rep(i,0,n) #define pb push_back #define endl "\n" #define sp ' ' #define f first #define s second #define sz size() #define all(x) (x).begin(),(x).end() const int N = 3e5+10, OO = 1e18, mod = 1e9+7; void tr(int a, int b){cout << a << sp << b << endl;} void cmx(int &a, int b){a = max(a,b);} void cmn(int &a, int b){a = min(a,b);} vector <pi> v; int n,L; ld sqr(ld x){ ld l = 0, r = 2236067977; For(i,60){ ld m = (l+r)/2; if(m * m >= x) r = m; else l = m; } return r; } bool ok(ld m){ ld mn = 2e9, mx = -2e9, z = 0; For(i,n){ auto [x,y] = v[i]; if(y*y > m*m) continue; ld d = sqr(m * m - y * y); if(x-d <= z && z <= x+d){ z = x+d; } if(x-d < mn) mn = x-d; if(mx < x+d) mx = x+d; if(mn <= 0 && L <= mx && z >= L) return 1; } return 0; } int32_t main() { ios::sync_with_stdio(0); cin.tie(0); cin >> n >> L; For(i,n){ int x,y; cin >> x >> y; v.pb({x,y}); } ld l = 0, r = 2236067977; For(i,60){ ld m = (l+r)/2; if(ok(m)) r = m; else l = m; } cout << setprecision(20) << r << endl; 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...