Submission #930447

#TimeUsernameProblemLanguageResultExecution timeMemory
930447sleepntsheepMobile (BOI12_mobile)C++17
0 / 100
1093 ms8204 KiB
#include <stdio.h> #include <math.h> #define N 1000000 int n, L, x[N], y[N]; int ok(long double m) { m *= m; long double li = -INFINITY, ri = INFINITY; for (int i = 0; i < n; ++i) { long double a = x[i]; long double lbnd = INFINITY, rbnd = -INFINITY; long double l = -1e9, r = a; for (int iter = 100; iter--;) { long double mm = (l+r)/2; if (mm*mm - 2*mm*x[i] <= m - x[i] * x[i] - y[i] * y[i]) r = mm, lbnd = mm; else l = mm; } l = a, r = 1e9; for (int iter = 100; iter--;) { long double mm = (l+r)/2; if (mm*mm - 2*mm*x[i] <= m - x[i] * x[i] - y[i] * y[i]) l = mm, rbnd = mm; else r = mm; } if (lbnd > li) li = lbnd; if (ri > rbnd) ri = rbnd; } if (li > ri) return 0; return 1; } int main() { scanf("%d%d", &n, &L); for (int i = 0; i < n; ++i) scanf("%d%d", x+i, y+i); long double l = 0, r = 2e9; for (int iter = 200; iter--;) { long double m = (l+r)/2; if (ok(m)) r = m; else l = m; } printf("%.6Lf", r); return 0; }

Compilation message (stderr)

mobile.cpp: In function 'int main()':
mobile.cpp:42:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   42 |     scanf("%d%d", &n, &L);
      |     ~~~~~^~~~~~~~~~~~~~~~
mobile.cpp:43:38: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   43 |     for (int i = 0; i < n; ++i) scanf("%d%d", x+i, y+i);
      |                                 ~~~~~^~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...