Submission #1198786

#TimeUsernameProblemLanguageResultExecution timeMemory
1198786Hamed_GhaffariBalloons (CEOI11_bal)C++20
100 / 100
127 ms8080 KiB
#include<bits/stdc++.h>
using namespace std;

using ll = long long;
using ld = long double;

const int MXN = 2e5+5;
const ld eps = 1e-6;

int n;
ld x[MXN], ans[MXN];

int32_t main() {
    cin.tie(0); cout.tie(0); ios_base::sync_with_stdio(0);
    cout << fixed << setprecision(3);
    cin >> n;
    vector<int> stk;
    for(int i=1; i<=n; i++) {
        cin >> x[i] >> ans[i];
        while(!stk.empty()) {
            ans[i] = min(ans[i], (x[stk.back()]-x[i])*(x[stk.back()]-x[i]) / (4 * ans[stk.back()]));
            if(ans[i] > ans[stk.back()]-eps) stk.pop_back();
            else break;
        }
        stk.push_back(i);
        cout << ans[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...