#include <bits/stdc++.h>
//#define int long long
#define pii pair<long double, long double>
#define fst first
#define snd second
#define endl "\n"
using namespace std;
int32_t main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cout << fixed << setprecision(3);
int n;
cin >> n;
pii p[n];
long double ans[n];
for(int i=0; i<n; ++i) {
auto &[x,y] = p[i];
cin >> x >> y;
ans[i]=y;
}
stack<pii> mnstk;
long double aux;
for(int i=0; i<n; ++i) {
while(!mnstk.empty()) {
auto [x,y] = mnstk.top();
aux = (p[i].fst-x)*(p[i].fst-x);
ans[i] = min(ans[i], aux/(4*y));
if(ans[i]<y) break;
mnstk.pop();
}
mnstk.push({p[i].fst,ans[i]});
}
for(long double &a : ans) cout << a << endl;
}
# | 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... |