/*
_____ _ _
/ ____| | | | |
| | __ _ __ __ _ ___ ___ _ _ _ __ ___ | |_ __ _| |_ ___
| | |_ | '__/ _` / __/ __| | | | '_ \ / _ \| __/ _` | __/ _ \
| |__| | | | (_| \__ \__ \ |_| | |_) | (_) | || (_| | || (_) |
\_____|_| \__,_|___/___/\__, | .__/ \___/ \__\__,_|\__\___/
__/ | |
|___/|_|
*/
#include <fstream>
#include <iostream>
#include <iomanip>
#include <algorithm>
#include <numeric>
#include <array>
#include <vector>
#include <set>
#include <map>
#include <stack>
#include <queue>
#include <cmath>
#include <cstring>
#include <bitset>
#include <string>
#include <sstream>
using namespace std;
using ll = long long;
const int INF = 1e6 + 5;
const int MOD = 1e9 + 7;
const int dx[4] = {1, -1, 0, 0};
const int dy[4] = {0, 0, 1, -1};
ll N, L;
pair<ll, ll> xy[INF];
bool check (double radius) {
double current = 0;
for (int i = 0; i < N; i++) {
double horz = sqrt(radius * radius - xy[i].second * xy[i].second);
double left = xy[i].first - horz, right = xy[i].first + horz;
if (left <= current) current = max(current, right);
}
return current >= L;
}
int main()
{
std::ios_base::sync_with_stdio(false); cin.tie(0);
// ifstream cin(".in");
// ofstream cout(".out");
cin >> N >> L;
for (int i = 0; i < N; i++) cin >> xy[i].first >> xy[i].second;
double l = 1, r = 1.5 * 1e9;
while (r - l > 1e-3) {
double m = (l + r) / 2;
if (check(m)) {
r = m;
} else {
l = m;
}
}
cout << fixed << setprecision(4) << l << '\n';
return 0;
}
/*
*
*/
//
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
204 KB |
Output is correct |
2 |
Correct |
1 ms |
204 KB |
Output is correct |
3 |
Correct |
0 ms |
204 KB |
Output is correct |
4 |
Correct |
0 ms |
204 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
204 KB |
Output is correct |
2 |
Correct |
1 ms |
204 KB |
Output is correct |
3 |
Correct |
0 ms |
204 KB |
Output is correct |
4 |
Correct |
1 ms |
204 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
332 KB |
Output is correct |
2 |
Correct |
1 ms |
332 KB |
Output is correct |
3 |
Correct |
1 ms |
332 KB |
Output is correct |
4 |
Correct |
1 ms |
332 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
3 ms |
380 KB |
Output is correct |
2 |
Correct |
3 ms |
332 KB |
Output is correct |
3 |
Correct |
2 ms |
332 KB |
Output is correct |
4 |
Correct |
3 ms |
332 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
3 ms |
332 KB |
Output is correct |
2 |
Correct |
2 ms |
332 KB |
Output is correct |
3 |
Correct |
2 ms |
332 KB |
Output is correct |
4 |
Correct |
3 ms |
332 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
332 KB |
Output is correct |
2 |
Correct |
2 ms |
332 KB |
Output is correct |
3 |
Correct |
3 ms |
332 KB |
Output is correct |
4 |
Correct |
3 ms |
332 KB |
Output is correct |
5 |
Correct |
3 ms |
332 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
37 ms |
1484 KB |
Output is correct |
2 |
Correct |
32 ms |
1508 KB |
Output is correct |
3 |
Correct |
21 ms |
1152 KB |
Output is correct |
4 |
Correct |
39 ms |
1480 KB |
Output is correct |
5 |
Correct |
20 ms |
1104 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
33 ms |
1484 KB |
Output is correct |
2 |
Correct |
33 ms |
1400 KB |
Output is correct |
3 |
Correct |
37 ms |
1484 KB |
Output is correct |
4 |
Correct |
37 ms |
1484 KB |
Output is correct |
5 |
Correct |
43 ms |
1584 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
32 ms |
1676 KB |
Output is correct |
2 |
Correct |
34 ms |
1484 KB |
Output is correct |
3 |
Correct |
34 ms |
1608 KB |
Output is correct |
4 |
Correct |
75 ms |
1856 KB |
Output is correct |
5 |
Correct |
38 ms |
1612 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
42 ms |
1876 KB |
Output is correct |
2 |
Correct |
47 ms |
1768 KB |
Output is correct |
3 |
Correct |
40 ms |
1868 KB |
Output is correct |
4 |
Correct |
52 ms |
1868 KB |
Output is correct |
5 |
Correct |
47 ms |
1872 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
42 ms |
1860 KB |
Output is correct |
2 |
Correct |
43 ms |
1892 KB |
Output is correct |
3 |
Correct |
40 ms |
1864 KB |
Output is correct |
4 |
Correct |
51 ms |
1860 KB |
Output is correct |
5 |
Correct |
45 ms |
1868 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
181 ms |
8040 KB |
Output is correct |
2 |
Correct |
215 ms |
8132 KB |
Output is correct |
3 |
Correct |
205 ms |
8128 KB |
Output is correct |
4 |
Correct |
268 ms |
8084 KB |
Output is correct |
5 |
Correct |
245 ms |
8096 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
208 ms |
8024 KB |
Output is correct |
2 |
Correct |
275 ms |
8124 KB |
Output is correct |
3 |
Correct |
203 ms |
8168 KB |
Output is correct |
4 |
Correct |
251 ms |
8080 KB |
Output is correct |
5 |
Correct |
230 ms |
8132 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
219 ms |
9612 KB |
Output is correct |
2 |
Correct |
260 ms |
9596 KB |
Output is correct |
3 |
Correct |
245 ms |
9692 KB |
Output is correct |
4 |
Correct |
309 ms |
9740 KB |
Output is correct |
5 |
Correct |
275 ms |
9580 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
257 ms |
9668 KB |
Output is correct |
2 |
Correct |
318 ms |
9692 KB |
Output is correct |
3 |
Correct |
251 ms |
9668 KB |
Output is correct |
4 |
Correct |
307 ms |
9616 KB |
Output is correct |
5 |
Correct |
281 ms |
9740 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
260 ms |
11340 KB |
Output is correct |
2 |
Correct |
311 ms |
11204 KB |
Output is correct |
3 |
Correct |
283 ms |
11208 KB |
Output is correct |
4 |
Correct |
365 ms |
11320 KB |
Output is correct |
5 |
Correct |
321 ms |
20280 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
298 ms |
11252 KB |
Output is correct |
2 |
Correct |
368 ms |
11256 KB |
Output is correct |
3 |
Correct |
283 ms |
11172 KB |
Output is correct |
4 |
Correct |
352 ms |
11260 KB |
Output is correct |
5 |
Correct |
326 ms |
21336 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
301 ms |
12756 KB |
Output is correct |
2 |
Correct |
340 ms |
12752 KB |
Output is correct |
3 |
Correct |
329 ms |
12892 KB |
Output is correct |
4 |
Correct |
411 ms |
12828 KB |
Output is correct |
5 |
Correct |
387 ms |
24084 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
334 ms |
12828 KB |
Output is correct |
2 |
Correct |
424 ms |
12832 KB |
Output is correct |
3 |
Correct |
342 ms |
22336 KB |
Output is correct |
4 |
Correct |
427 ms |
28332 KB |
Output is correct |
5 |
Correct |
378 ms |
24388 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
368 ms |
15960 KB |
Output is correct |
2 |
Correct |
415 ms |
16120 KB |
Output is correct |
3 |
Correct |
415 ms |
30500 KB |
Output is correct |
4 |
Correct |
516 ms |
22852 KB |
Output is correct |
5 |
Correct |
481 ms |
29544 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
428 ms |
15936 KB |
Output is correct |
2 |
Correct |
558 ms |
15948 KB |
Output is correct |
3 |
Correct |
415 ms |
28228 KB |
Output is correct |
4 |
Correct |
517 ms |
35268 KB |
Output is correct |
5 |
Correct |
502 ms |
30660 KB |
Output is correct |