#include <iomanip>
#include <ios>
#include <iostream>
#include <stack>
#include <utility>
#define sqi(x)((x)*(long long)(x))
#define sqd(x)((long double)(x)*(long double)(x))
//#define overlapxr(x1,r1,x2,r2) (sqi(x1-x2)+sqi(r1-r2)<sqd(r1+r2))
#define overlapxr(x1,r1,x2,r2) ((long double)sqi(x1-x2)<4*(r1)*(r2))
#define overlap1(a,x2,r2) overlapxr(a.first,a.second,x2,r2)
#define overlap(a,b) overlapxr(a.first,a.second,b.first,b.second)
int main() {
std::cin.tie(0)->sync_with_stdio(0);
int n,x,r; std::cin >> n >> x >> r;
std::stack<std::pair<int, long double>> st;
std::cout << r << ".000" << std::fixed << std::setprecision(3);
st.push({x,r});
for (int i=1;i<n;++i) {
std::cin >> x >> r;
long double maxr = r;
while (!st.empty()) {
auto t = st.top();
maxr=std::min(maxr,sqd(x-t.first)/(4*t.second));
if (maxr<t.second) break;
st.pop();
}
st.emplace(x,maxr);
std::cout << '\n' << maxr;
}
}
| # | 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... |