#include <bits/stdc++.h>
const int32_t MAX_N = 1e6;
const double EPS = 1e-6;
int32_t n, l;
std::pair< int32_t, int32_t > points[MAX_N + 5];
bool Check(double r) {
std::vector< std::pair< double, bool > > events(2 * n);
double curr = 0;
for(int32_t i = 0; i < n; i++) {
if(r * r < (int64_t) points[i].second * points[i].second) {
continue;
}
double x1 = points[i].first - sqrt(r * r - (int64_t) points[i].second * points[i].second);
double x2 = points[i].first + sqrt(r * r - (int64_t) points[i].second * points[i].second);
if(!(x1 > curr)) {
curr = std::max(curr, x2);
}
}
if(!(curr < l)) {
return true;
}
else {
return false;
}
}
int main() {
std::ios_base::sync_with_stdio(false);
std::cin.tie(nullptr);
std::cin >> n >> l;
for(int32_t i = 0; i < n; i++) {
std::cin >> points[i].first >> points[i].second;
}
int64_t low = 1, high = 1e16;
double ans;
while(low <= high) {
int64_t mid = (low + high) / 2;
if(Check(mid / 10000.0)) {
ans = mid / 10000.0;
high = mid - 1;
}
else {
low = mid + 1;
}
}
std::cout << std::fixed << std::setprecision(7);
std::cout << ans << '\n';
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
3 ms |
376 KB |
Output is correct |
2 |
Correct |
2 ms |
504 KB |
Output is correct |
3 |
Correct |
2 ms |
504 KB |
Output is correct |
4 |
Correct |
2 ms |
512 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
520 KB |
Output is correct |
2 |
Correct |
2 ms |
624 KB |
Output is correct |
3 |
Correct |
2 ms |
624 KB |
Output is correct |
4 |
Correct |
2 ms |
644 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
4 ms |
772 KB |
Output is correct |
2 |
Correct |
4 ms |
796 KB |
Output is correct |
3 |
Correct |
3 ms |
796 KB |
Output is correct |
4 |
Correct |
4 ms |
832 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
5 ms |
1080 KB |
Output is correct |
2 |
Correct |
5 ms |
1080 KB |
Output is correct |
3 |
Correct |
5 ms |
1108 KB |
Output is correct |
4 |
Correct |
5 ms |
1172 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
5 ms |
1224 KB |
Output is correct |
2 |
Correct |
6 ms |
1260 KB |
Output is correct |
3 |
Correct |
5 ms |
1328 KB |
Output is correct |
4 |
Correct |
5 ms |
1328 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
5 ms |
1384 KB |
Output is correct |
2 |
Correct |
5 ms |
1436 KB |
Output is correct |
3 |
Correct |
5 ms |
1460 KB |
Output is correct |
4 |
Correct |
5 ms |
1460 KB |
Output is correct |
5 |
Correct |
5 ms |
1460 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
53 ms |
4704 KB |
Output is correct |
2 |
Correct |
49 ms |
4724 KB |
Output is correct |
3 |
Correct |
33 ms |
4724 KB |
Output is correct |
4 |
Correct |
45 ms |
4724 KB |
Output is correct |
5 |
Correct |
29 ms |
4724 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
45 ms |
4848 KB |
Output is correct |
2 |
Correct |
42 ms |
4848 KB |
Output is correct |
3 |
Correct |
49 ms |
4976 KB |
Output is correct |
4 |
Correct |
46 ms |
4976 KB |
Output is correct |
5 |
Correct |
53 ms |
5196 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
54 ms |
5232 KB |
Output is correct |
2 |
Correct |
54 ms |
5232 KB |
Output is correct |
3 |
Correct |
49 ms |
5232 KB |
Output is correct |
4 |
Correct |
60 ms |
5620 KB |
Output is correct |
5 |
Correct |
50 ms |
5620 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
64 ms |
5672 KB |
Output is correct |
2 |
Correct |
64 ms |
7104 KB |
Output is correct |
3 |
Correct |
57 ms |
8112 KB |
Output is correct |
4 |
Correct |
62 ms |
10100 KB |
Output is correct |
5 |
Correct |
59 ms |
11472 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
67 ms |
11472 KB |
Output is correct |
2 |
Correct |
65 ms |
11472 KB |
Output is correct |
3 |
Correct |
60 ms |
12344 KB |
Output is correct |
4 |
Correct |
61 ms |
13120 KB |
Output is correct |
5 |
Correct |
57 ms |
13200 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
393 ms |
29624 KB |
Output is correct |
2 |
Correct |
397 ms |
31216 KB |
Output is correct |
3 |
Correct |
406 ms |
31216 KB |
Output is correct |
4 |
Correct |
403 ms |
31216 KB |
Output is correct |
5 |
Correct |
403 ms |
31216 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
444 ms |
31216 KB |
Output is correct |
2 |
Correct |
461 ms |
31216 KB |
Output is correct |
3 |
Correct |
390 ms |
31216 KB |
Output is correct |
4 |
Correct |
407 ms |
31216 KB |
Output is correct |
5 |
Correct |
400 ms |
31216 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
511 ms |
35028 KB |
Output is correct |
2 |
Correct |
527 ms |
44272 KB |
Output is correct |
3 |
Correct |
537 ms |
52968 KB |
Output is correct |
4 |
Correct |
495 ms |
53244 KB |
Output is correct |
5 |
Correct |
501 ms |
53248 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
542 ms |
53312 KB |
Output is correct |
2 |
Correct |
578 ms |
53312 KB |
Output is correct |
3 |
Correct |
493 ms |
53312 KB |
Output is correct |
4 |
Correct |
500 ms |
53312 KB |
Output is correct |
5 |
Correct |
487 ms |
53312 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
588 ms |
57160 KB |
Output is correct |
2 |
Correct |
616 ms |
57224 KB |
Output is correct |
3 |
Correct |
608 ms |
57224 KB |
Output is correct |
4 |
Correct |
583 ms |
57348 KB |
Output is correct |
5 |
Correct |
557 ms |
66288 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
596 ms |
66288 KB |
Output is correct |
2 |
Correct |
660 ms |
75556 KB |
Output is correct |
3 |
Correct |
562 ms |
83972 KB |
Output is correct |
4 |
Correct |
587 ms |
97392 KB |
Output is correct |
5 |
Correct |
543 ms |
107536 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
617 ms |
112256 KB |
Output is correct |
2 |
Correct |
673 ms |
124708 KB |
Output is correct |
3 |
Runtime error |
649 ms |
132096 KB |
Memory limit exceeded: We have a known bug that the memory usage is measured incorrectly (possibly because of Meltdown/Spectre patch), so your solution may be correct. Please submit again. Sorry for the inconvenience. |
4 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
613 ms |
132096 KB |
Memory limit exceeded: We have a known bug that the memory usage is measured incorrectly (possibly because of Meltdown/Spectre patch), so your solution may be correct. Please submit again. Sorry for the inconvenience. |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
750 ms |
132096 KB |
Memory limit exceeded: We have a known bug that the memory usage is measured incorrectly (possibly because of Meltdown/Spectre patch), so your solution may be correct. Please submit again. Sorry for the inconvenience. |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
810 ms |
132096 KB |
Memory limit exceeded: We have a known bug that the memory usage is measured incorrectly (possibly because of Meltdown/Spectre patch), so your solution may be correct. Please submit again. Sorry for the inconvenience. |
2 |
Halted |
0 ms |
0 KB |
- |