Submission #1236476

#TimeUsernameProblemLanguageResultExecution timeMemory
1236476MinhKienBalloons (CEOI11_bal)C++20
100 / 100
121 ms3464 KiB
#include <iostream> #include <math.h> #include <stack> using namespace std; struct bb { long double x, r; bb () {} bb (long double X, long double R) { x = X; r = R; } }; int n; bb k; stack <bb> st, tmp; long double dis(bb A, bb B) { return sqrt((A.x - B.x) * (A.x - B.x) + (A.r - B.r) * (A.r - B.r)); } long double Find(bb kt) { return (kt.x - k.x) * (kt.x - k.x) / (4.0 * kt.r); } int main() { cin.tie(0); cout.tie(0); ios_base::sync_with_stdio(false); cin >> n; for (int i = 1; i <= n; ++i) { cin >> k.x >> k.r; long double ans = k.r; while (!st.empty()) { ans = min(ans, Find(st.top())); if (ans >= st.top().r) { st.pop(); continue; } break; } st.push(bb(k.x, ans)); printf("%.10Lf\n", ans); } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...