| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1324494 | jack205 | Mobile (BOI12_mobile) | C++20 | 1096 ms | 40132 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];
stack<long long> sta;
signed main()
{
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;
for(int it=1;it<=90;it++)
{
while (sta.size()) sta.pop();
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)
{
seg[i] = { 1e18,1e18 };
continue;
}
seg[i].first = x - sqrt(mid * mid - y * y);
seg[i].second= x + sqrt(mid * mid - y * y);
}
for (long long i = 1; i <= n; i++)
{
if (seg[i].first == 1e18) continue;
while (sta.size() and seg[sta.top()].first >= seg[i].first) sta.pop();
sta.push(i);
}
stack<int> temp;
while (sta.size())
{
temp.push(sta.top());
sta.pop();
}
double cur = 0;
while (temp.size())
{
long long now = temp.top();
temp.pop();
if (seg[now].first > cur)
{
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... | ||||
