Submission #1321064

#TimeUsernameProblemLanguageResultExecution timeMemory
1321064aaaaaaaaBalloons (CEOI11_bal)C++20
100 / 100
102 ms5008 KiB
#include <bits/stdc++.h> using namespace std; double mx_radius(pair<double, double> prev, double bx){ return (double) (bx - prev.first) * (bx - prev.first) / (4.000 * prev.second); } signed main() { ios::sync_with_stdio(0); cin.tie(nullptr); cout.tie(nullptr); int n; cin >> n; vector<double> x(n + 1), r(n + 1); stack<pair<double, double>> stk; cout << fixed << setprecision(3); for(int i = 1; i <= n; ++i){ cin >> x[i] >> r[i]; } for(int i = 1; i <= n; ++i){ double mxr = r[i]; while((int) stk.size()){ auto lst = stk.top(); double lstr = mx_radius(lst, x[i]); mxr = min(mxr, lstr); if(mxr >= lst.second){ stk.pop(); }else{ break; } } stk.push({x[i], mxr}); cout << mxr << "\n"; } 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...