Submission #1304009

#TimeUsernameProblemLanguageResultExecution timeMemory
1304009hamstpanMobile (BOI12_mobile)C++20
Compilation error
0 ms0 KiB
#include<iostream> #include<vector> #include<functional> #include<algorithm> using namespace std; double first_true(double lo, double hi, function<bool(double)> f) { hi += 1e-4; while (lo + 1e-4 < hi) { double mid = lo + (hi - lo) / 2; if (f(mid)) hi = mid; else lo = mid + 1e-4; } return lo; } int main() { int n, l; cin >> n >> l; vector<pair<double, double>> a(n); for (auto& i : a) cin >> i.first >> i.second; cout << first_true(0, l, [&](double r) { double mincovered = -1; int i = 0; while (i < n) { while (r < a[i].second) ++i; //this doesn't do anything if (a[i].first - sqrt(r * r - a[i].second * a[i].second) < mincovered) mincovered = a[i].first + sqrt(r * r - a[i].second * a[i].second); ++i; } return mincovered >= l; }); }

Compilation message (stderr)

mobile.cpp: In lambda function:
mobile.cpp:25:42: error: 'sqrt' was not declared in this scope
   25 |                         if (a[i].first - sqrt(r * r - a[i].second * a[i].second) < mincovered) mincovered = a[i].first + sqrt(r * r - a[i].second * a[i].second);
      |                                          ^~~~