Submission #639189

#TimeUsernameProblemLanguageResultExecution timeMemory
639189PietraMobile (BOI12_mobile)C++14
0 / 100
396 ms16016 KiB
#include<bits/stdc++.h> #define int long long using namespace std ; const int maxn = 1e6 + 5 ; const double inf = 2e9 ; double n ; double l, x[maxn], y[maxn] ; bool check(double r){ double f = 0 ; for(int i = 1 ; i <= n ; i++){ if(r < y[i]) return 0 ; double dx = sqrt((r*r) - (y[i]*y[i])) ; double ini = x[i] - dx, fim = x[i] + dx ; if(ini <= f) f = max(f, fim) ; } return (f >= l) ; } int32_t main(){ scanf("%lf%lf", &n, &l) ; for(int i = 1 ; i <= n ; i++) scanf("%lf%lf", &x[i], &y[i]) ; double ini = 0, fim = inf, mid ; int it = 45 ; while(it--){ mid = (ini + fim)/2 ; // printf("%.3lf\n", mid) ; if(check(mid)) fim = mid ; else ini = mid ; } cout << fixed << setprecision(3) << fim << "\n" ; //printf("%.3lf\n", best) ; }

Compilation message (stderr)

mobile.cpp: In function 'int32_t main()':
mobile.cpp:28:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   28 |     scanf("%lf%lf", &n, &l) ;
      |     ~~~~~^~~~~~~~~~~~~~~~~~
mobile.cpp:30:40: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   30 |     for(int i = 1 ; i <= n ; i++) scanf("%lf%lf", &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...