Submission #442661

#TimeUsernameProblemLanguageResultExecution timeMemory
442661oneskovicBalloons (CEOI11_bal)C++14
10 / 100
2097 ms3964 KiB
#include <algorithm> #include <iostream> #include <iomanip> #include <vector> #include <stack> using namespace std; typedef long long ll; struct stack_element { double x, radius; }; int main() { ios::sync_with_stdio(false); cin.tie(0); int n; cin >> n; vector<stack_element> elements(n); for (int i = 0; i < n; i++) { cin >> elements[i].x >> elements[i].radius; double new_x = elements[i].x, max_radius = elements[i].radius; for (int j = 0; j < i; j++) { double prev_radius = elements[j].radius; double prev_x = elements[j].x; double dx = (prev_x - new_x); double radius_to_intersect = (dx * dx / (2 * prev_radius)) / 2.0; if (radius_to_intersect < max_radius) { max_radius = radius_to_intersect; } } cout << fixed << setprecision(5); cout << max_radius << "\n"; } /*stack<stack_element> s; for (int i = 0; i < n; i++) { double new_x, max_radius; cin >> new_x >> max_radius; while (!s.empty()) { double prev_radius = s.top().radius; double prev_x = s.top().x; double dx = (prev_x - new_x); double radius_to_intersect = (dx*dx / (2 * prev_radius)) / 2.0; if (radius_to_intersect < max_radius) { max_radius = radius_to_intersect; s.pop(); } else break; } s.push({ new_x,max_radius }); cout << fixed << setprecision(5); cout << max_radius << "\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...