Submission #573424

#TimeUsernameProblemLanguageResultExecution timeMemory
573424Rasoul006Mobile (BOI12_mobile)C++17
100 / 100
841 ms35384 KiB
#include <bits/stdc++.h> #define endl "\n" #define F first #define S second #define pb push_back #define all(x) x.begin() , x.end() #define mm1(dp) memset (dp , -1 , sizeof dp) #define mm0(dp) memset (dp , 0 , sizeof dp) #define mmo(dp) memset (dp , oo , sizeof dp) //#define mid ((r+l)/2.0) #define lx (n<<1) #define rx ((n<<1)|1) typedef long long ll; using namespace std; const int N = 1e6+5; const int MOD = 1e9+7; const long long oo = 4557430888798830399 ; ll n ; double le , x[N] , y[N] ; bool ch(double m) { double la = 0 ; for (int i = 0 ; i<n ; i++) { double p = sqrt((m*m) - (y[i]*y[i])); // cout << p << " " << x[i] - p << " " << la << endl ; if (x[i]-p <= la) { la = max (x[i]+p , la); } // // else // { // return false ; // } } return (la>=le ? true : false) ; } int main() { ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); cin >> n >> le ; for (int i = 0 ; i<n ; i++) { cin >> x[i] >> y[i] ; } double l = 0 , r = 1e18 ; while (r-l > 0.0000001) { double mid = (r+l)/2.0 ; if (ch(mid)) { r = mid ; } else { l = mid ; } } cout <<fixed << setprecision(4) << r << endl ; return 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...