| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1352891 | vahagng | Mobile (BOI12_mobile) | C++20 | 1097 ms | 80972 KiB |
#include <bits/stdc++.h>
using namespace std;
#define ld long double
struct Point{
ld x, y;
};
ld dist(Point A, Point B){
return sqrt((A.x - B.x) * (A.x - B.x) + (A.y - B.y) * (A.y - B.y));
}
struct Line{
ld k, b;
Point X_intersect(){
return Point{-b / k * 1.0, 0.0};
}
};
Line ln(Point A, Point B){
// y1 = k*x1 + b
// y2 = k*x2 + b
// y1 - y2 = k(x1 - x2)
// k = (y1 - y2) / (x1 - x2)
ld K = (A.y - B.y) / (A.x - B.x);
ld BB = A.y - K*A.x;
return Line{K, BB};
}
Line mijnuxahayac(Point A, Point B){
auto [K, BB] = ln(A, B);
Point M = {(A.x + B.x) / 2.0, (A.y + B.y) / 2.0};
ld K1 = -1.0 / K;
ld BB1 = M.y - K1*M.x;
return Line{K1, BB1};
}
void precision(int x){
cout.setf(ios::fixed | ios::showpoint);
cout.precision(x);
return;
}
const int N = 1e6 + 10;
int n;
ld l;
const ld eps = 1e-11;
Point a[N];
bool check(ld m){
vector<pair<ld, ld>>A;
for(int i = 1; i <= n; i++){
if(a[i].y - eps <= m){
ld d = sqrt(m * m - a[i].y * a[i].y);
A.push_back({a[i].x - d, a[i].x + d});
}
}
ld mx = 0.0;
for(int i = 0; i < A.size(); i++){
if(A[i].first - eps <= mx){
mx = max(mx, A[i].second);
}
}
return mx + eps >= l;
}
int main(){
cin >> n >> l;
for(int i = 1; i <= n; i++){
cin >> a[i].x >> a[i].y;
}
ld l = 0.0, r = 1e10, ans = 0.0;
for(int it = 0; it < 100; it++){
ld m = (l + r) / 2.0;
if(check(m)){
r = m - 1;
ans = m;
}else{
l = m + 1;
}
}
precision(20);
cout << ans << endl;
}| # | 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... | ||||
