# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
754410 | PanosPask | Balloons (CEOI11_bal) | C++14 | 118 ms | 7100 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#define pb push_back
using namespace std;
typedef long long ll;
int n;
vector<int> active_circles;
vector<long double> radius;
vector<int> maxradius;
vector<int> position;
long double find_r2(int x1, long double r1, int x2)
{
return ((ll)(x1 - x2) * (x1 - x2)) / (4 * r1);
}
long double allowed_radius(int i, int j)
{
return find_r2(position[i], radius[i], position[j]);
}
int main(void)
{
scanf("%d", &n);
position.resize(n);
maxradius.resize(n);
radius.resize(n);
for (int i = 0; i < n; i++) {
scanf("%d %d", &position[i], &maxradius[i]);
}
for (int i = 0; i < n; i++) {
bool foundbreak = false;
while (active_circles.size() >= 2 && !foundbreak) {
int mid = active_circles.back();
int prv = active_circles[active_circles.size() - 2];
if (allowed_radius(prv, i) <= allowed_radius(mid, i)) {
active_circles.pop_back();
}
else
foundbreak = true;
}
radius[i] = maxradius[i];
if (!active_circles.empty())
radius[i] = min(radius[i], allowed_radius(active_circles.back(), i));
while (!active_circles.empty() && radius[active_circles.back()] <= radius[i])
active_circles.pop_back();
active_circles.pb(i);
printf("%.3Lf\n", radius[i]);
}
return 0;
}
컴파일 시 표준 에러 (stderr) 메시지
# | 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... |