Submission #607242

#TimeUsernameProblemLanguageResultExecution timeMemory
607242Duy_eBalloons (CEOI11_bal)C++14
0 / 100
183 ms8012 KiB
#include <bits/stdc++.h> #define ll long long #define pii pair<ll, ll> #define st first #define nd second #define file "test" using namespace std; const long long INF = 1e18; const long long N = 2e5 + 5; const long long eps = 1e-6; stack <int> st; ll x[N], n; double r[N]; bool touch(int i, int j) { double a = r[i] - r[j], b = x[j] - x[i]; double c = a * a + b * b; double sum = r[i] + r[j]; return sum * sum <= c; } double cal(int i, int j) { if (i == 0) return r[j]; double a = r[i], b = x[j] - x[i]; double ans = b * b / ((double)4.0 * a); return min(ans, r[j]); } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); // #ifndef ONLINE_JUDGE // freopen(file".inp", "r", stdin); freopen(file".out", "w", stdout); // #endif cin >> n; st.push(0); for (int i = 1; i <= n; i ++) { cin >> x[i] >> r[i]; while (st.size() > 1 && !touch(st.top(), i) && r[i] > r[st.top()]) st.pop(); // cout << st.top() << ' '; r[i] = cal(st.top(), i); st.push(i); cout << setprecision(3) << fixed << r[i] << '\n'; } return 0; } /** /\_/\ * (= ._.) * / >🍵 \>🍮 **/

Compilation message (stderr)

bal.cpp:50:9: warning: "/*" within comment [-Wcomment]
   50 | /**  /\_/\
      |
#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...