#include <bits/stdc++.h>
using namespace std;
#define db double
const int maxx=1e5+1;
const double pi=acos(-1);
int n;
double cal(double x1,double r1,double x2,double r2)
{
return min(((x1-x2)*(x1-x2))/(4*r1),r2);
}
int main()
{
cin>>n;
vector<pair<int,int>>s;
for(int i=1;i<=n;i++)
{
double x,r,minn=1e9;
cin>>x>>r;
if(i==1)
{
cout<<r<<endl;
s.push_back({x,r});
continue;
}
for(int i=0;i<s.size();i++)
minn=min(minn,cal(s[i].first,s[i].second,x,r));
r=minn;
while(!s.empty()&&s[s.size()-1].second<=r)s.pop_back();
s.push_back({x,r});
cout<<r<<endl;
}
return 0;
}
# | 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... |