Submission #67577

#TimeUsernameProblemLanguageResultExecution timeMemory
67577thebesMobile (BOI12_mobile)C++14
0 / 100
842 ms16376 KiB
#pragma GCC optimize("Ofast") #pragma GCC optimize("unroll-loops") #pragma GCC target("sse,sse2,ssse3,sse3,sse4,popcnt,avx,mmx,abm,tune=native") #include <bits/stdc++.h> #define sq(x) ((x)*(x)) using namespace std; #define int long long const int MN = 1e6+6; double lo, hi = 1e10, eps = 1e-4; int N, M, i, j; pair<int,int> pnt[MN]; inline bool check(double d){ double mx = 0; for(int i=1;i<=N;i++){ if(abs(pnt[i].second)>d) continue; double dx=sqrt(sq(d)-sq(pnt[i].second)); if(pnt[i].first-dx<=mx) mx=max(mx,pnt[i].first+dx); else return 0; } return mx>=M; } signed main(){ for(scanf("%lld%lld",&N,&M),i=1;i<=N;i++) scanf("%lld%lld",&pnt[i].first,&pnt[i].second); sort(pnt+1,pnt+N+1,[](pair<int,int>i,pair<int,int>j){return i.first<j.first;}); while(lo+eps<hi){ double m = (lo+hi)/2.0; if(check(m)) hi=m; else lo=m+eps; } printf("%.4lf\n",lo); return 0; }

Compilation message (stderr)

mobile.cpp: In function 'int main()':
mobile.cpp:25:29: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  for(scanf("%lld%lld",&N,&M),i=1;i<=N;i++)
      ~~~~~~~~~~~~~~~~~~~~~~~^~~~
mobile.cpp:26:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%lld%lld",&pnt[i].first,&pnt[i].second);
   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#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...