# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
56137 | 2018-07-10T05:36:33 Z | 강태규(#1579) | Mobile (BOI12_mobile) | C++11 | 474 ms | 24188 KB |
#include <iostream> #include <algorithm> #include <vector> #include <queue> #include <deque> #include <set> #include <map> #include <unordered_map> #include <functional> #include <cstring> #include <cmath> #include <ctime> #include <cstdlib> using namespace std; typedef long long llong; typedef long double ld; typedef pair<int, int> pii; typedef pair<llong, llong> pll; const int inf = 1e9 + 7; int n, l, m = -1; int x[1000000]; int y[1000000]; llong sq(int x) { return (llong)x * x; } struct line { llong m, b; ld get(ld x) const { return m * x + b; } ld inter(line x) const { return (ld)(b - x.b) / (x.m - m); } } st[1000000]; int tp = 0; int main() { scanf("%d%d", &n, &l); for (int i = 0, pr = inf; i < n; ++i) { int xs, ys; scanf("%d%d", &xs, &ys); if (ys < 0) ys = -ys; if (xs != pr) { x[++m] = xs; y[m] = ys; pr = xs; } else { y[m] = min(y[m], ys); } } for (int i = 0; i <= m; ++i) { line l = { -2 * x[i], sq(x[i]) + sq(y[i]) }; while (tp > 1 && st[tp - 1].inter(l) < st[tp - 2].inter(st[tp - 1])) --tp; st[tp++] = l; } ld ans = 0; for (int i = 1; i < tp; ++i) { ld x = st[i - 1].inter(st[i]); if (0 <= x && x <= l) ans = max(ans, x * x + st[i].get(x)); } ld ans1 = 1e20, ans2 = 1e20; for (int i = 0; i < tp; ++i) { ans1 = min(ans1, st[i].get(0)); ans2 = min(ans2, sq(l) + st[i].get(l)); } ans = max({ ans, ans1, ans2 }); cout.precision(20); cout << sqrt(ans) << '\n'; return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 248 KB | Output is correct |
2 | Correct | 3 ms | 484 KB | Output is correct |
3 | Correct | 2 ms | 484 KB | Output is correct |
4 | Correct | 3 ms | 484 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 588 KB | Output is correct |
2 | Correct | 2 ms | 588 KB | Output is correct |
3 | Correct | 3 ms | 588 KB | Output is correct |
4 | Correct | 2 ms | 588 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 588 KB | Output is correct |
2 | Correct | 3 ms | 588 KB | Output is correct |
3 | Correct | 3 ms | 588 KB | Output is correct |
4 | Correct | 2 ms | 588 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 620 KB | Output is correct |
2 | Correct | 5 ms | 620 KB | Output is correct |
3 | Correct | 3 ms | 620 KB | Output is correct |
4 | Correct | 4 ms | 656 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 656 KB | Output is correct |
2 | Correct | 6 ms | 656 KB | Output is correct |
3 | Correct | 5 ms | 656 KB | Output is correct |
4 | Correct | 3 ms | 664 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 748 KB | Output is correct |
2 | Correct | 5 ms | 748 KB | Output is correct |
3 | Correct | 3 ms | 748 KB | Output is correct |
4 | Correct | 4 ms | 748 KB | Output is correct |
5 | Correct | 5 ms | 748 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 24 ms | 1260 KB | Output is correct |
2 | Correct | 24 ms | 1260 KB | Output is correct |
3 | Correct | 16 ms | 1260 KB | Output is correct |
4 | Correct | 29 ms | 1260 KB | Output is correct |
5 | Correct | 14 ms | 1260 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 28 ms | 1260 KB | Output is correct |
2 | Correct | 25 ms | 1260 KB | Output is correct |
3 | Correct | 38 ms | 1260 KB | Output is correct |
4 | Correct | 32 ms | 1260 KB | Output is correct |
5 | Correct | 36 ms | 1280 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 38 ms | 2688 KB | Output is correct |
2 | Correct | 23 ms | 2688 KB | Output is correct |
3 | Correct | 22 ms | 2688 KB | Output is correct |
4 | Correct | 37 ms | 2688 KB | Output is correct |
5 | Correct | 23 ms | 2688 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 33 ms | 2688 KB | Output is correct |
2 | Correct | 39 ms | 2688 KB | Output is correct |
3 | Correct | 22 ms | 2688 KB | Output is correct |
4 | Correct | 46 ms | 2688 KB | Output is correct |
5 | Correct | 32 ms | 2688 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 34 ms | 2688 KB | Output is correct |
2 | Correct | 30 ms | 2688 KB | Output is correct |
3 | Correct | 25 ms | 2688 KB | Output is correct |
4 | Correct | 42 ms | 2688 KB | Output is correct |
5 | Correct | 33 ms | 2688 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 123 ms | 12284 KB | Output is correct |
2 | Correct | 128 ms | 12284 KB | Output is correct |
3 | Correct | 116 ms | 12284 KB | Output is correct |
4 | Correct | 193 ms | 12284 KB | Output is correct |
5 | Correct | 141 ms | 12284 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 135 ms | 12284 KB | Output is correct |
2 | Correct | 161 ms | 12284 KB | Output is correct |
3 | Correct | 142 ms | 12284 KB | Output is correct |
4 | Correct | 211 ms | 12284 KB | Output is correct |
5 | Correct | 201 ms | 12284 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 152 ms | 14716 KB | Output is correct |
2 | Correct | 153 ms | 14716 KB | Output is correct |
3 | Correct | 233 ms | 14716 KB | Output is correct |
4 | Correct | 232 ms | 14716 KB | Output is correct |
5 | Correct | 186 ms | 14716 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 189 ms | 14716 KB | Output is correct |
2 | Correct | 198 ms | 14716 KB | Output is correct |
3 | Correct | 195 ms | 14716 KB | Output is correct |
4 | Correct | 249 ms | 14716 KB | Output is correct |
5 | Correct | 213 ms | 14716 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 171 ms | 17012 KB | Output is correct |
2 | Correct | 193 ms | 17012 KB | Output is correct |
3 | Correct | 172 ms | 17012 KB | Output is correct |
4 | Correct | 255 ms | 17012 KB | Output is correct |
5 | Correct | 279 ms | 17012 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 229 ms | 17012 KB | Output is correct |
2 | Correct | 270 ms | 17012 KB | Output is correct |
3 | Correct | 203 ms | 17012 KB | Output is correct |
4 | Correct | 255 ms | 17012 KB | Output is correct |
5 | Correct | 277 ms | 17012 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 217 ms | 19300 KB | Output is correct |
2 | Correct | 216 ms | 19300 KB | Output is correct |
3 | Correct | 208 ms | 19300 KB | Output is correct |
4 | Correct | 334 ms | 19300 KB | Output is correct |
5 | Correct | 282 ms | 19300 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 239 ms | 19300 KB | Output is correct |
2 | Correct | 235 ms | 19300 KB | Output is correct |
3 | Correct | 238 ms | 19300 KB | Output is correct |
4 | Correct | 303 ms | 19300 KB | Output is correct |
5 | Correct | 284 ms | 19300 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 474 ms | 24188 KB | Output is correct |
2 | Correct | 272 ms | 24188 KB | Output is correct |
3 | Correct | 286 ms | 24188 KB | Output is correct |
4 | Correct | 356 ms | 24188 KB | Output is correct |
5 | Correct | 277 ms | 24188 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 316 ms | 24188 KB | Output is correct |
2 | Correct | 365 ms | 24188 KB | Output is correct |
3 | Correct | 299 ms | 24188 KB | Output is correct |
4 | Correct | 360 ms | 24188 KB | Output is correct |
5 | Correct | 317 ms | 24188 KB | Output is correct |