Submission #1344654

#TimeUsernameProblemLanguageResultExecution timeMemory
1344654Zone_zoneeBalloons (CEOI11_bal)C++20
100 / 100
75 ms1872 KiB
#include <bits/stdc++.h>
using namespace std;
using ld = double;

ld calc(ld R, int x, int y){
    return 1.0*(y-x)*(y-x)/(4*R);
}
int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    int n;
    cin >> n;
    stack<pair<ld, int>> s;
    for(int i = 1; i <= n; ++i){
        ld y, r;
        cin >> y >> r;
        ld bound = r;
        while(!s.empty()){
            auto [R, x] = s.top();
            bound = min(bound, calc(R, x, y));
            if(bound >= R) s.pop();
            else break;
        }
        s.push({bound, y});
        cout << fixed << setprecision(3) << bound << '\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...