제출 #1266753

#제출 시각아이디문제언어결과실행 시간메모리
1266753hoangmc2009Balloons (CEOI11_bal)C++17
큐에 대기중
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; using i64 = long long; using f64 = long double; i64 n,x[200009],r[200009]; long double y[200009]; vector<int> st; bool check(int i,int j,int k) {return (x[i]-x[k])*(x[i]-x[k])/y[i]>(x[j]-x[k])*(x[j]-x[k])/y[j];} int main() { if(fopen("D:/CPP/THEMIS/test.inp","r")) { freopen("D:/CPP/THEMIS/test.inp","r",stdin); freopen("D:/CPP/THEMIS/test.out","w",stdout); } ios_base::sync_with_stdio(0); cin.tie(0);cout.tie(0); cin>>n; for(int i=1;i<=n;++i) cin>>x[i]>>r[i]; y[1]=r[1]; st.push_back(1); for(int i=2;i<=n;++i) { y[i]=r[i]; for(int j=i-1;j>0;--j) { y[i]=min(y[i],(x[i]-x[j])*(x[i]-x[j])/4.0L/y[j]); if(j>0 and !check(j-1,j,i)) break; } } for(int i=1;i<=n;++i) cout<<fixed<<setprecision(3)<<y[i]<<'\n'; }