Submission #310515

#TimeUsernameProblemLanguageResultExecution timeMemory
310515vishnu_sujithMobile (BOI12_mobile)C++17
90 / 100
1035 ms16376 KiB
#include <bits/stdc++.h> using namespace std; #ifdef DEBUG #define LOG(...) cerr << "[" << #__VA_ARGS__ << "]: " << repr(__VA_ARGS__) << endl; #define MSG(args) cerr << args << "\n"; #define debug(x) x #else #define LOG(...) #define MSG(args) #define debug(x) #endif #define vi vector<int> #define ii pair<int, int> #define vii vector< ii > #define vvi vector< vi > #define mp make_pair #define pb push_back #define sz(x) (int)((x).size()) #define ms(x, v) memset((x), v, sizeof(x)) #define all(x) (x).begin(), (x).end() #define REP(x, n) for(int x = 0; x < n; x++) #define REPV(x, v, n) for(int x = v; x < n; x++) #define REVE(x, n) for(int x = n; x >= 0; x--) typedef long long ll; int N, L; pair<double, double> pos[1000010]; bool can(double d) { double cover = 0.0; REP(i, N) { double dist = sqrt(d * d - pos[i].second * pos[i].second); double lft = pos[i].first - dist, rgt = pos[i].first + dist; if(lft <= cover) cover = max(cover, rgt); } return cover >= L; } int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cin >> N >> L; REP(i, N) cin >> pos[i].first >> pos[i].second; double lo = 1.0, hi = 9e8; while(hi - lo > 1e-3) { double mid = (lo + hi) / 2.0; if(can(mid)) hi = mid; else lo = mid; } cout.precision(7); cout << fixed << lo << "\n"; 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...