#include<bits/stdc++.h>
#include<random>
using namespace std;
using db=double;
using ll=long long;
using sll=__int128;//super long long
using lb=long double;//lb is slow
//numbers for hashing: b(19260817),mod(998244353)
// freopen("fencedin.in", "r", stdin);
// freopen("fencedin.out", "w", stdout);
struct ballon{
ll coor;
lb radius;
};
int main(){
ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
ll n; cin>>n; vector<ballon>v(n);
for(ll i=0; i<n; i++){
cin>>v[i].coor>>v[i].radius;
}
stack<ballon>st; vector<lb>ans(n);
for(ll i=0; i<n; i++){
lb rd=v[i].radius; bool flag=true;
while(!st.empty() && flag){
rd=min(rd,(st.top().coor-v[i].coor)*(st.top().coor-v[i].coor)/(4*st.top().radius));
if(rd>st.top().radius)st.pop();
else flag=false;
}
ans[i]=rd; st.push({v[i].coor,rd});
}
for(auto x:ans){
cout<<fixed<<setprecision(10)<<x<<'\n';
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |