#include <bits/stdc++.h>
using namespace std;
#define int long long
#define double long double
const int maxn = 2e5 + 5;
double ans[maxn], x[maxn];
signed main(){
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int n; cin >> n;
stack<int> st;
for(int i = 1; i <= n; i++){
cin >> x[i] >> ans[i];
while(!st.empty()) {
int cur = st.top();
ans[i] = min(ans[i], (x[cur] - x[i]) * (x[cur] - x[i]) / (4 * ans[cur]));
if(ans[i] >= ans[cur]) st.pop();
else break;
}
st.push(i);
cout << fixed << setprecision(3) << ans[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... |