Submission #883316

#TimeUsernameProblemLanguageResultExecution timeMemory
883316MisterReaperBalloons (CEOI11_bal)C++17
100 / 100
147 ms10592 KiB
#include <bits/stdc++.h> using namespace std; using i64 = long long; using d64 = long double; i64 sq(int a) { return 1LL * a * a; } d64 calc(int ax, int bx, d64 ar) { return d64(sq(bx - ax)) / (4 * ar); } #define ONLINE_JUDGE void solve() { int n; cin >> n; vector <int> x(n +1); vector <d64> r(n +1); for(int i = 1; i <= n; i++) { cin >> x[i] >> r[i]; } cout << fixed << setprecision(9); stack <int> st; for(int i = 1; i <= n; i++) { while(!st.empty()) { int j = st.top(); r[i] = min(r[i], calc(x[j], x[i], r[j])); if(r[i] >= r[j]) { st.pop(); } else { break; } } st.emplace(i); cout << r[i] << "\n"; } return; } signed main() { #ifndef ONLINE_JUDGE freopen("in.txt", "r", stdin); freopen("out.txt", "w", stdout); #endif ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int t = 1; //cin >> t; for(int i = 1; i <= t; i++) { solve(); } 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...