Submission #1172052

#TimeUsernameProblemLanguageResultExecution timeMemory
1172052nguyenkhangninh99Balloons (CEOI11_bal)C++20
100 / 100
127 ms8196 KiB

#include <bits/stdc++.h>

using namespace std;

#define int long long
#define double long double

const int maxn = 2e5 + 5;
double ans[maxn], x[maxn];

signed main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0); cout.tie(0);

    int n; cin >> n;
    stack<int> st;
    for(int i = 1; i <= n; i++){
        cin >> x[i] >> ans[i];
        while(!st.empty()) {
            int cur = st.top();
            ans[i] = min(ans[i], (x[cur] - x[i]) * (x[cur] - x[i]) / (4 * ans[cur]));
            if(ans[i] >= ans[cur]) st.pop();
            else break;
        }
        st.push(i);
        cout << fixed << setprecision(3) << ans[i] << "\n";
    }
 }
#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...