#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];
}
long double k = 0, b = 1e9;
for(int i = 0;i < n;++i){
long double mn = 1e9;
mn = min(mn, k * x[i] + b);
if(i){
long double nk = 1.0 / (2 * sqrtl(r[i - 1])), nb = -x[i - 1] / (2 * sqrtl(r[i - 1]));
if(mn > nk * x[i] + nb){
mn = nk * x[i] + nb;
k = nk;
b = nb;
}
}
mn = min(mn, sqrtl(r[i]));
mn = mn * 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... |