| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1324509 | jack205 | Mobile (BOI12_mobile) | C++20 | 695 ms | 39544 KiB |
#include<iostream>
#include<vector>
#include<algorithm>
#include<cmath>
#include<stack>
#include<iomanip>
using namespace std;
const long long MAX = 1E6;
long long n, l;
pair<double, double> a[MAX + 5];
pair<double, double> seg[MAX + 5];
const double eps = 1e-12;
signed main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n >> l;
for (long long i = 1; i <= n; i++) cin >> a[i].first >> a[i].second;
double st = 0;
double ed = 1e12 + 5;
double ans = -1;
vector<long long> sta;
sta.reserve(n);
for(int it=0;it<60;it++)
{
sta.clear();
double mid = (st + ed) / 2;
for (long long i = 1; i <= n; i++)
{
double x = a[i].first;
double y = a[i].second;
if (mid * mid < y * y)
{
continue;
}
seg[i].first = x - sqrt(mid * mid - y * y);
seg[i].second = x + sqrt(mid * mid - y * y);
while (sta.size() and seg[sta.back()].first >= seg[i].first - eps) sta.pop_back();
sta.push_back(i);
}
double cur = 0;
for(int now:sta)
{
if (seg[now].first > cur + eps)
{
cur = -1;
break;
}
cur = max(cur, seg[now].second);
}
if (cur >= l)
{
ans = mid;
ed = mid;
}
else st = mid;
}
cout << fixed << setprecision(6) << (double)ans << "\n";
return 0;
}| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
