#include<bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
vector<long double> x(n) , r(n) , a(n);
for(int i = 0 ; i < n ; i++) {
cin >> x[i] >> r[i];
}
vector<pair<long double ,long double>> st;
for(int i = 0 ; i < n ; i++) {
long double ai = r[i];
while(!st.empty()){
long double xj = st.back().first;
long double aj = st.back().second;
long double c = ((xj - x[i]) * (xj - x[i])) / (4.0 * aj);
ai = min(ai , c);
if(c >= aj) st.pop_back();
else break;
}
a[i] = ai;
st.push_back({x[i] , ai});
}
cout << fixed << setprecision(3);
for(int i = 0 ; i < n ; i++) {
cout << a[i] << "\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... |