Submission #1148844

#TimeUsernameProblemLanguageResultExecution timeMemory
1148844LilPlutonBalloons (CEOI11_bal)C++20
0 / 100
146 ms9080 KiB
#include <bits/stdc++.h> using namespace std; #define ld long double #define ll long long #define eb emplace_back const int inf = 1e9; signed main() { ios_base::sync_with_stdio(0); cin.tie(0); auto check = [&](int x1, ld y1, int x2, ld y2) -> bool { ld dist = sqrtl((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)); return dist <= (y1 + y2) && dist >= abs(y1 - y2); }; ld eps = 1e-3; int n; cin >> n; vector<int> x(n); vector<ld> rr(n), ans(n); for(int i = 0; i < n; ++i){ cin >> x[i] >> rr[i]; if(i == 0){ ans[i] = rr[i]; } else { ld l = 0.0, r = rr[i], bs = r; while(r - l > eps){ ld mid = (l + r) / 2; if(check(x[i - 1], ans[i - 1], x[i], mid)){ bs = mid; r = mid; } else { l = mid; } } ans[i] = bs; } } cout << fixed << setprecision(3); for(int i = 0; i < n; ++i){ cout << ans[i] << '\n'; } }
#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...