#include <bits/stdc++.h>
using namespace std;
signed main(){
cin.tie(0)->sync_with_stdio(0);
int n; cin >> n;
vector<pair<double,double>> a(n), b(n);
for(auto &i : a) cin >> i.first >> i.second;
b[0] = {a[0].first,a[0].second};
for(int i=1; i < n; i ++){
double l = 0, r = a[i].second;
double x = a[i].first;
for(int j=0; j < 50; j ++){
double m = (l + r) / 2;
bool ok = 1;
for(int k=0; k < i; k ++){
if((b[k].first-x)*(b[k].first-x)+(b[k].second-m)*(b[k].second-m) < (m+b[k].second)*(m+b[k].second)) ok = 0;
}
if(ok) l = m;
else r = m;
}
b[i] = {x,l};
}
for(auto i : b){
cout << fixed << setprecision(3) << i.second << '\n';
}
}
# | 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... |