Submission #1338072

#TimeUsernameProblemLanguageResultExecution timeMemory
1338072xnoelBalloons (CEOI11_bal)C++20
30 / 100
347 ms1496 KiB
#include <bits/stdc++.h>
using namespace std;

int main(){
    //freopen("1.in","r",stdin);
    int n;
    cin>>n;
    stack<pair<double,double>> st;
    st.push({-1000,1});
    for (int i=0;i<n;i++) {
        double pos, max_r;
        cin>>pos>>max_r;
        double curr_r=max_r;
        while (!st.empty()){
            double last_pos=st.top().first, last_r=st.top().second;
            curr_r = min(curr_r, (pos-last_pos)*(pos-last_pos)/(4*last_r));            
            if (curr_r>=last_r) st.pop();
            else break;
        }
        st.push({pos,curr_r});
        cout<<curr_r<<"\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...