#include <iostream>
#include <vector>
#include <deque>
#include <cmath>
#include <iomanip>
#include <string>
using namespace std;
struct Bal {
int x;
double r;
int rmax;
Bal(int x, int rmax) : x(x), rmax(rmax), r(rmax) {}
};
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int N;
cin >> N;
vector<Bal> b;
for (int i = 0; i < N; ++i) {
int x, rmax;
cin >> x >> rmax;
b.emplace_back(x, rmax);
}
deque<int> s;
for (int i = 0; i < N; ++i) {
while (!s.empty()) {
Bal &c = b[s.front()];
double rLim = pow(b[i].x - c.x, 2) / (4.0 * c.r);
b[i].r = min(b[i].r, rLim);
if (b[i].r >= c.r) {
s.pop_front();
} else {
break;
}
}
s.push_front(i);
}
for (const Bal &a : b) {
cout << fixed << setprecision(3) << a.r << "\n";
}
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... |