Submission #590263

#TimeUsernameProblemLanguageResultExecution timeMemory
590263VanIOImaster153Balloons (CEOI11_bal)C++17
100 / 100
213 ms6620 KiB
#pragma GCC optimize("O3") #pragma GCC optimize("Ofast") #pragma GCC optimize("Os") #pragma GCC target ("avx2") #include <bits/stdc++.h> using namespace std; const int maxn = 2e5 + 5; struct pikachu{ double x, r; } a[maxn]; int n; stack<pikachu> st; double solve(pikachu cur){ double r1 = cur.r; while(!st.empty()){ pikachu tmp = st.top(); r1 = min(r1,(cur.x - tmp.x) * (cur.x - tmp.x) / 4 / tmp.r); if(r1 > tmp.r) st.pop(); else break; } st.push((pikachu){cur.x, r1}); return r1; } signed main(){ ios_base::sync_with_stdio(false); cin.tie(0); cin >> n; for(int i = 0; i < n; i++) { cin >> a[i].x >> a[i].r; } cout << setprecision(3) << fixed << (a[0].r) << '\n'; st.push(a[0]); for(int i = 1; i < n; i++){ double res = solve(a[i]); cout << setprecision(3) << fixed << res << '\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...