Submission #1287851

#TimeUsernameProblemLanguageResultExecution timeMemory
1287851chithanhnguyenBalloons (CEOI11_bal)C++20
100 / 100
120 ms10916 KiB
#include <bits/stdc++.h> using namespace std; #define ld long double struct Circle{ int x; ld r; }; const int MAXN = 2e5 + 5; int n; Circle circles[MAXN]; void init() { cin >> n; for (int i = 1; i <= n; ++i) cin >> circles[i].x >> circles[i].r; } void solve() { vector<Circle> st; for (int i = 1; i <= n; ++i) { ld rad = circles[i].r; while (!st.empty()) { Circle cur = st.back(); ld cur_rad = (ld)1.0 * (cur.x - circles[i].x) * (cur.x - circles[i].x) / (4.0 * cur.r); rad = min(rad, cur_rad); if (rad >= cur.r) { st.pop_back(); } else { break; } } cout << fixed << setprecision(16); cout << rad << '\n'; st.push_back({circles[i].x, rad}); } } signed main() { #ifdef NCTHANH freopen("input.txt", "r", stdin); #endif // NCTHANH ios_base::sync_with_stdio(0); cin.tie(nullptr); cout.tie(nullptr); init(); solve(); 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...