Submission #168854

#TimeUsernameProblemLanguageResultExecution timeMemory
168854Uzumaki_NaturooMobile (BOI12_mobile)C++17
0 / 100
1075 ms8196 KiB
/// I’m not gonna run away,
/// I never go back on my word!
/// That’s my nindo: my ninja way.
/// ICPC next year

#include<bits/stdc++.h>
using namespace std ;
const int N = 1e6+5 ;
int n ,l ,x[N] ,y[N] ;
long double distance(long double x1,long double y1,long double x2,long double y2){
    return 1ll*(x2-x1)*(x2-x1) + 1ll*(y2-y1)*(y2-y1) ;
}
int main(){
    cin >> n >> l ;
    for(int i=0;i<n;++i) cin >> x[i] >> y[i];
    long double best1 = -1e18 ,best2 = -1e18 ;
    int p1 = 0 ,p2 = 0 ;
    for(int i=0;i<n;++i){
        long double d = distance(0,0,x[i],y[i]);
        if(d>best1) best1 = d ,p1 = i ;
        d = distance(l,0,x[i],y[i]);
        if(d>best2) best2 = d ,p2 = i ;
    }
    long long a = 1ll*x[p1]*x[p1] - 1ll*x[p2]*x[p2] + 1ll*y[p1]*y[p1] - 1ll*y[p2]*y[p2] ;
    long long b = 2ll * (x[p1] - x[p2]) ;
    long double x0 = 1.0 * a / b ;
    long double ans = 0 ;
    for(int i=0;i<n;++i) ans = max(ans ,distance(x0,0,x[i],y[i]));
    cout << fixed << setprecision(6) << sqrtl(ans) << 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...