Submission #670276

#TimeUsernameProblemLanguageResultExecution timeMemory
670276RadicaIMobile (BOI12_mobile)C++17
0 / 100
1097 ms131072 KiB
#include <bits/stdc++.h> using namespace std; using ld = long double; int main(){ cout.precision(10); int n,siz; cin >> n>>siz; pair<ld, ld> stations[n]; for(int i=0; i<n; i++) cin >> stations[i].first >> stations[i].second; ld l = 1e-5; ld r = 3e9; int random=0; ld ans=0; while(l<=r && random<=2){ ld m = (l+r)/2.0; ld lowest=0.0; ld highest=l+0.0; set<pair<ld, int> > endp; for(int i=0; i<n; i++){ if(abs(stations[i].second) <=m){ ld ph = stations[i].first + sqrt(m*m-stations[i].second*stations[i].second); ld pl = stations[i].first - sqrt(m*m-stations[i].second*stations[i].second); endp.insert(make_pair(pl,0)); endp.insert(make_pair(ph,1)); } } bool check=true; int count=0; for(auto thing: endp){ if(thing.second == 0) count++; else count--; if(thing.first <siz && count==0) check=false; } if(check){ ans=m; if(r==m) random++; r=m; }else{ if(l==m) random++; l=m; } } cout << ans; }

Compilation message (stderr)

mobile.cpp: In function 'int main()':
mobile.cpp:34:4: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   34 |    if(l==m) random++; l=m;
      |    ^~
mobile.cpp:34:23: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   34 |    if(l==m) random++; l=m;
      |                       ^
mobile.cpp:14:6: warning: unused variable 'lowest' [-Wunused-variable]
   14 |   ld lowest=0.0; ld highest=l+0.0;
      |      ^~~~~~
mobile.cpp:14:21: warning: unused variable 'highest' [-Wunused-variable]
   14 |   ld lowest=0.0; ld highest=l+0.0;
      |                     ^~~~~~~
#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...