Submission #1330321

#TimeUsernameProblemLanguageResultExecution timeMemory
1330321randi_pavBalloons (CEOI11_bal)C++17
100 / 100
102 ms15424 KiB
#include <bits/stdc++.h>
using namespace std;

#define fastio() ios::sync_with_stdio(false); cin.tie(NULL)
#define ll long long
#define endl '\n'

int main(){
    fastio();
        int n;
        cin>>n;
        vector<pair<long long ,long double>>v;
        for(int i=0;i<n;i++){
            pair<long long, long double>temp;
            cin>>temp.first>>temp.second;
            v.push_back(temp);
        }
        stack<pair<long long, long double>>st;
        vector<long double>output;
        output.push_back(v[0].second);
        st.push(v[0]);
        for(int i=1;i<n;i++){
            long double min_=v[i].second;
            int found=0;
            while(!st.empty()){
            pair<long long,long double>temp=st.top();
            long double temp2=temp.second;
            long long dist=v[i].first-temp.first;
            long double result=(long double)(dist*dist)/(4*temp2);
            min_=min(result,min_);
            if(min_>=temp2)st.pop();
            else break;
        }
        
        st.push({v[i].first,min_});

        
        output.push_back(min_);


        }
        for(int i=0;i<n;i++){
        cout<<fixed<<setprecision(3)<<output[i]<<endl;
        }

        
        

    
    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...