Submission #1317372

#TimeUsernameProblemLanguageResultExecution timeMemory
1317372RgZg_LnEnBalloons (CEOI11_bal)C++20
0 / 100
49 ms3624 KiB
//UPDATERA ARRAY STORLEKEN!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#include <bits/stdc++.h>
using namespace std;
 
typedef long long ll;
 
const ll INF=1e15;
const ll MAXN=200006;//UPDATERA ARRAY STORLEKEN!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ll n;
double ans[MAXN];

struct node{
    double x,r;
}lst[MAXN];

stack<ll> S;

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cin>>n;
    for(int i=1;i<=n;i++) cin>>lst[i].x>>lst[i].r;
    cout<<setprecision(20);

    for(int i=1;i<=n;i++){
        if(!S.empty()){
            ans[i]=min((lst[S.top()].x-lst[i].x)*(lst[S.top()].x-lst[i].x)/(4*ans[S.top()]),lst[i].r);
            while(!S.empty()&&ans[i]>=ans[S.top()]){
                S.pop();
                ans[i]=min((lst[S.top()].x-lst[i].x)*(lst[S.top()].x-lst[i].x)/(4*ans[S.top()]),ans[i]);
            }
        }else{
            ans[i]=lst[i].r;
        }
        S.push(i);
        
        cout<<ans[i]<<'\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...