제출 #230029

#제출 시각아이디문제언어결과실행 시간메모리
230029infinite_iqMobile (BOI12_mobile)C++14
0 / 100
1099 ms48176 KiB
#define fast ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0) #include <bits/stdc++.h> using namespace std; #define sqr 547 #define mp make_pair #define mid (l+r)/2 #define pb push_back #define ppb pop_back #define fi first #define se second #define lb lower_bound #define ub upper_bound #define ins insert #define era erase #define C continue #define mem(dp,i) memset(dp,i,sizeof(dp)) #define mset multiset #define all(x) x.begin(), x.end() typedef long long ll; typedef short int si; typedef long double ld; typedef pair<int,int> pi; typedef pair<ll,ll> pll; typedef vector<int> vi; typedef vector<ll> vll; typedef vector<pi> vpi; typedef vector<pll> vpll; const ll inf=1e18; const ll mod=1e9+7; const ld pai=acos(-1); ll N , En ; pll A [1000009] ; bool Check ( double Mid ) { vector < pair < double , double > > Interval ; for ( int i = 0 ; i < N ; i ++ ) { double Len = sqrt ( Mid * Mid - A [i] .se * A [i] .se ) ; double L = A [i].fi - Len , R = A [i].fi + Len ; L = max ( L , 0.0 ) , R = min ( R , (double)En ) ; if ( R < L ) C ; Interval .pb ( { L , R } ) ; } sort ( all ( Interval ) ) ; if ( Interval [0].fi != 0 ) return 0 ; double R = 0 ; for ( auto u : Interval ) { if ( R < u.fi ) return 0 ; R = max ( R , u.se ) ; } if ( R != En ) return 0 ; return 1 ; } int main () { cin >> N >> En ; for ( int i = 0 ; i < N ; i ++ ) cin >> A [i] .fi >> A [i] .se ; double L = 1 , R = 1e9 ; while ( R - L > 0.001 ) { double Mid = ( L + R ) / 2.0 ; if ( Check ( Mid ) ) R = Mid ; else L = Mid ; } cout << fixed << setprecision (4) << L << endl ; }
#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...