# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
67570 | thebes | Mobile (BOI12_mobile) | C++14 | 1089 ms | 132096 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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>
using namespace std;
const int MN = 1e6+6, MM = 1e9+7;
double lo, hi = MM, eps = 1e-4;
pair<double,int> arr[2*MN];
int N, M, i, j;
pair<int,int> pnt[MN];
typedef pair<double,int> P;
bool cmp(P i,P j){return i.first==j.first?i.second>j.second:i.first<j.first;}
inline bool check(double d){
for(int i=1;i<=N;i++){
if(abs(pnt[i].second)>=d){
arr[2*i-1]=arr[2*i]={-1,-1};
continue;
}
double dx=sqrt(d*d-pnt[i].second*pnt[i].second);
arr[2*i-1]={pnt[i].first-dx,1};
arr[2*i]={pnt[i].first+dx,-1};
}
sort(arr+1,arr+2*N+1,cmp); int cnt=0;
for(int i=1;i<=2*N;i++){
cnt += arr[i].second;
if(cnt<1&&(i==2*N||arr[i+1].second!=arr[i].second)&&arr[i].first<M&&arr[i].first>0)
return 0;
}
return 1;
}
int main(){
for(scanf("%d%d",&N,&M),i=1;i<=N;i++)
scanf("%d%d",&pnt[i].first,&pnt[i].second);
while(lo+eps<hi){
double m = (lo+hi)/2;
if(check(m)) hi=m;
else lo=m+eps;
}
printf("%.4lf\n",lo);
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |