Submission #1337484

#TimeUsernameProblemLanguageResultExecution timeMemory
1337484JungPSBalloons (CEOI11_bal)C++20
30 / 100
247 ms7948 KiB
#include<bits/stdc++.h>
using namespace std;

#define int long double
pair<int,long double> dat[200007];
stack<pair<int,long double>> st; //top = low

signed main(){
    ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);
    int n; cin >> n;
    for(long long i=1;i<=n;++i) cin >> dat[i].first >> dat[i].second;
    for(long long  i=1;i<=n;++i){
        int pos=dat[i].first;
        long double rad=dat[i].second;
        while(!st.empty()){
            rad=min(rad,(dat[i].first-st.top().first+0.00)*(dat[i].first-st.top().first+0.00)/st.top().second/4);
            if(rad>=st.top().second){
                st.pop();
            }
            else break;
        }
        cout << rad << endl;
        st.push({pos,rad});
    }
}
#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...