제출 #930445

#제출 시각아이디문제언어결과실행 시간메모리
930445sleepntsheepMobile (BOI12_mobile)C++17
0 / 100
1102 ms16588 KiB
#include <stdio.h> #define N 1000000 int n, L, x[N], y[N]; int ok(long double m) { m *= m; long double li = -1e9, ri = 1e9; for (int i = 0; i < n; ++i) { long double a = x[i]; long double lbnd, rbnd; 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 = 1e18; for (int iter = 400; iter--;) { long double m = (l+r)/2; if (ok(m)) r = m; else l = m; } printf("%.6Lf", r); return 0; }

컴파일 시 표준 에러 (stderr) 메시지

mobile.cpp: In function 'int main()':
mobile.cpp:41:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   41 |     scanf("%d%d", &n, &L);
      |     ~~~~~^~~~~~~~~~~~~~~~
mobile.cpp:42:38: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   42 |     for (int i = 0; i < n; ++i) scanf("%d%d", x+i, y+i);
      |                                 ~~~~~^~~~~~~~~~~~~~~~~~
mobile.cpp: In function 'int ok(long double)':
mobile.cpp:33:9: warning: 'rbnd' may be used uninitialized in this function [-Wmaybe-uninitialized]
   33 |         if (ri > rbnd) ri = rbnd;
      |         ^~
mobile.cpp:32:9: warning: 'lbnd' may be used uninitialized in this function [-Wmaybe-uninitialized]
   32 |         if (lbnd > li) li = lbnd;
      |         ^~
#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...