| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1324505 | jack205 | Mobile (BOI12_mobile) | C++20 | 1031 ms | 35572 KiB |
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1000000;
long long n, l;
pair<double,double> a[MAXN+5];
pair<double,double> seg[MAXN+5];
const double eps = 1e-12;
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n >> l;
for(int i=1;i<=n;i++) cin >> a[i].first >> a[i].second;
double st=0, ed=1e12+5, ans=-1;
vector<int> sta;
sta.reserve(n);
for(int it=0; it<80; it++){
sta.clear();
double mid=(st+ed)/2;
double r2 = mid*mid;
for(int i=1;i<=n;i++){
double x=a[i].first, y=a[i].second;
if(r2 < y*y) { seg[i].first = 1e18; continue; }
double dx = sqrt(max(0.0, r2 - y*y));
seg[i].first = x - dx;
seg[i].second = x + dx;
}
for(int i=1;i<=n;i++){
if(seg[i].first >= 1e17) continue; // sentinel
while(!sta.empty() && seg[sta.back()].first >= seg[i].first - eps)
sta.pop_back();
sta.push_back(i);
}
double cur=0;
for(int idx: sta){
if(seg[idx].first > cur + eps){ cur=-1; break; }
cur = max(cur, seg[idx].second);
if(cur >= l - eps) break;
}
if(cur >= l){
ans = mid;
ed = mid;
}else st = mid;
}
cout << fixed << setprecision(6) << 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... | ||||
