제출 #448358

#제출 시각아이디문제언어결과실행 시간메모리
448358four_specksBalloons (CEOI11_bal)C++17
100 / 100
242 ms10088 KiB
#include <bits/stdc++.h> using namespace std; double dist(const double &x1, const double &y1, const double &x2) { double dx = (x2 - x1); return dx * dx / (4 * y1); } void solve() { struct elem { double x, r; }; int n; cin >> n; vector<elem> a(n); for (int i = 0; i < n; i++) cin >> a[i].x >> a[i].r; vector<double> radii(n); stack<int> st; for (int i = 0; i < n; i++) { double sz = a[i].r; while (!st.empty()) { int u = st.top(); sz = min(sz, dist(a[u].x, radii[u], a[i].x)); if (sz >= radii[u]) st.pop(); else break; } st.emplace(i); radii[i] = sz; } cout << fixed << setprecision(3); for (int i = 0; i < n; i++) cout << radii[i] << '\n'; } int main() { ios_base::sync_with_stdio(false), cin.tie(NULL); 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...