제출 #1266814

#제출 시각아이디문제언어결과실행 시간메모리
1266814datluong_04Balloons (CEOI11_bal)C++20
100 / 100
87 ms14464 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define FOR(i , a , b) for(int i = a ; i <= b; i++) #define FAST ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); #define maxn 200005 struct Point{ ll x , r; }; Point a[maxn]; long double x[maxn] , radi[maxn] , R[maxn]; int main(){ FAST; int n; cin >> n; FOR(i , 1 , n){ cin >> a[i].x >> a[i].r; x[i] = (long double)a[i].x; radi[i] = (long double) a[i].r; } stack<int> st; FOR(i , 1 , n){ long double Ri = radi[i]; while(!st.empty()){ int j = st.top(); long double dx = x[i] - x[j]; long double cand = dx * dx / (4.0L * R[j]); if(cand < Ri) Ri = cand; if(Ri > R[j]) st.pop(); else break; } R[i] = Ri; st.push(i); } FOR(i , 1 , n) cout << fixed << (long double) R[i] << setprecision(3) << "\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...