#include<bits/stdc++.h>
using namespace std;
using ll = long long;
const int inf = 1e9;
const double S = 1.3;
double kw(double a){
return a * a;
}
int main(){
int n;
cin >> n;
vector<pair<int,double>>V;
vector<pair<int,double>>V2;
double last = 0;
for(int i = 0; i < n; i++){
int x;
double r;
cin >> x >> r;
for(int jj = (int)V2.size() - 1; jj >= max((int)V.size()-20,0); jj--){
auto j = V2[jj];
r = min(r, kw(x - j.first) / (4 * j.second));
}
for(auto j : V){
r = min(r, kw(x - j.first) / (4 * j.second));
}
last = x;
while(!V.empty() && V.back().second <= r * S)V.pop_back();
V.push_back({x,r});
while(!V2.empty() && V2.back().second <= r)V2.pop_back();
V2.push_back({x,r});
cout << fixed << setprecision(4) << r << '\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... |