#include<bits/stdc++.h>
using namespace std;
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
int n;
cin >> n;
vector<long double>x(n), r(n);
for(int i = 0;i < n;++i){
cin >> x[i] >> r[i];
}
vector<array<long double, 2>>st;
for(int i = 0;i < n;++i){
long double mn = r[i];
for(auto t : st){
mn = min(mn, (t[0] - x[i]) * (t[0] - x[i]) / (4 * t[1]));
}
while(!st.empty() && st.back()[1] < mn){
st.pop_back();
}
st.push_back({x[i], mn});
cout << fixed << setprecision(3) << mn << '\n';
r[i] = mn;
}
}
| # | 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... |