Submission #1101169

#TimeUsernameProblemLanguageResultExecution timeMemory
1101169BLOBVISGODMobile (BOI12_mobile)C++17
100 / 100
467 ms35424 KiB
#include "bits/stdc++.h"
#pragma GCC optimize("Ofast")
using namespace std;
#define rep(i,a,b) for(int i=(a); i<(b); ++i)
#define all(x) x.begin(),x.end()
#define sz(x) int(x.size())
typedef long long ll;
typedef unsigned long long ull;
typedef vector<int> vi;
typedef vector<vi> vvi;

int main(){
    cin.tie(NULL),cin.sync_with_stdio(false);
    
    int n,l; cin >> n >> l;
    vector<array<ll,2>> a(n);
    rep(i,0,n) rep(j,0,2) cin >> a[i][j];
    rep(i,0,n) a[i][1] = a[i][1]*a[i][1];
    sort(all(a));

    double lo = 0, hi = 1.5e9;
    rep(iter,0,46){
        double mid = (lo+hi)/2, mid2 = mid*mid;
        double r = 0;
        rep(i,0,n) if (a[i][1] < mid2){
            double d = sqrt(mid2 - a[i][1]);
            if (a[i][0]-d <= r)  r = max(r,a[i][0]+d);
        }
        if (r < l) lo = mid;
        else hi = mid;
    }
    cout << setprecision(15) << lo << '\n';
}
#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...