# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
570479 | lam | Mobile (BOI12_mobile) | C++17 | 1094 ms | 10632 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.
#include <bits/stdc++.h>
#define int long long
#define maxn 100010
using namespace std;
int n,L;
pair<int,int> a[maxn];
typedef long double ld;
bool cmp(pair<ld,ld> x, pair<ld,ld> y)
{
if (x.second!=y.second) return x.second<y.second;
return x.first<y.first;
}
bool check(ld val)
{
vector <pair<ld,ld>> b;
b.clear();
for (int i=1; i<=n; i++)
{
ld temp=a[i].second;
temp=1.0*temp*temp;
if (temp>val) continue;
temp=val*val-temp;
temp=1.0*sqrt(temp);
ld l=a[i].first-temp;
ld r=a[i].first+temp;
if (r<0) continue;
if (l>L) continue;
b.push_back({l,r});
}
ld temp=0.0;
sort(b.begin(),b.end(),cmp);
for (int i=0; i<b.size(); i++)
{
if (b[i].first<=temp) temp=b[i].second;
}
return temp>=L;
}
signed main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr); cout.tie(nullptr);
cin>>n>>L;
for (int i=1; i<=n; i++)
{
cin>>a[i].first>>a[i].second;
}
ld l=0.0;
ld r=2*1e9;
ld ans=-1;
for (int i=1; i<=100; i++)
{
ld mid=l+(r-l)/2;
if (check(mid))
{
ans=mid;
r=mid;
}
else
l=mid;
}
cout<<fixed<<setprecision(3)<<ans;
}
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... |