이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
using ld = long double;
using ld2 = array<ld, 2>;
ld rad(ld2 prev, ld x) {
return ((prev[0]-x)*(prev[0]-x)/(4*prev[1]));
}
int main() {
cin.tie(0)->sync_with_stdio(0);
int n;
cin >> n;
// solve
stack<ld2> check;
while (n--) {
ld x, r;
cin >> x >> r;
while (!check.empty()) {
ld2 prev = check.top();
ld to_prev = rad(prev, x);
r = min(r, to_prev);
if (r >= prev[1]) check.pop();
else break;
}
check.push({x, r});
printf("%.3Lf\n", r);
}
}
# | 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... |