Submission #1281204

#TimeUsernameProblemLanguageResultExecution timeMemory
1281204minhphanBalloons (CEOI11_bal)C++20
30 / 100
178 ms5084 KiB
#include <bits/stdc++.h> using namespace std; long double calcRadius(const pair<long double, long double> &a, const long double bx) { const long double dx = bx-a.first; return dx*dx/(4*a.second); } int main() { int n; cin >> n; stack<pair<long double, long double>> stack; vector<long double> finalRadius(n); for (int i = 0; i<n; i++) { long double x, r; cin >> x >> r; long double maxR = r; while (!stack.empty()) { pair<long double, long double> last = stack.top(); long double radius = calcRadius(last, x); maxR = min(maxR, radius); if (radius >= last.second) { stack.pop(); continue; } break; } stack.emplace(x, maxR); finalRadius[i] = maxR; } cout << fixed << setprecision(3); for (int i = 0; i<n; i++) { cout << finalRadius[i] << "\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...