#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <iomanip>
#include <set>
#include <map>
#include <numeric>
#include <iomanip>
#include <unordered_set>
#include <unordered_map>
#include <bitset>
#include <queue>
#include <deque>
#include <stack>
#include <cmath>
#include <tuple>
#include <cassert>
#include <array>
#include <list>
#include <random>
#include <initializer_list>
using namespace std;
using ll = long long;
using ull = unsigned long long;
using ld = double;
constexpr ll INF = 1E18;
constexpr ll MIN = -INF;
constexpr ll MAX = INF;
constexpr ll N = 1E4 + 10;
ld get(pair<ld, ld>& a, ll x) {
return pow(abs(a.first) - x, 2) / (4 * a.second);
}
void solve() {
ll n;
cin >> n;
vector<ll> x(n), r(n);
for (ll i = 0; i < n; ++i) {
cin >> x[i] >> r[i];
}
stack<pair<ld, ld>> st;
vector<ld> ans(n);
for (ll i = 0; i < n; ++i) {
ld curr = r[i];
while (!st.empty()) {
auto last = st.top();
curr = min(curr, get(last, x[i]));
if (curr < last.second) {
break;
}
else {
st.pop();
}
}
st.push({ x[i], curr });
ans[i] = curr;
}
for (ll i = 0; i < n; ++i) {
cout << ans[i] << '\n';
}
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout << fixed << setprecision(10);
int t = 1;
/*cin >> t;*/
while (t--) {
solve();
}
return 0;
}
# | 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... |