Submission #1105022

#TimeUsernameProblemLanguageResultExecution timeMemory
1105022ezzzayBalloons (CEOI11_bal)C++14
40 / 100
2074 ms4840 KiB
#include<bits/stdc++.h> using namespace std; #define int long long #define ff first #define ss second #define pb push_back const int N=3e5+5; double x[N],r[N]; double p[N]; bool check(int i, int j, double R){ double xj=x[j],yj=p[j],rj=p[j]; double xi=x[i],yi=R,ri=R; double d=(xi-xj)*(xi-xj)+(yi-yj)*(yi-yj); double f=rj+ri; if(f*f<=d){ return 1; } else{ return 0; } } signed main(){ int n; cin>>n; for(int i=1;i<=n;i++){ cin>>x[i]>>r[i]; } p[1]=r[1]; for(int i=2;i<=n;i++){ double lo=0,hi=r[i]; while(hi>=lo){ double mid=(hi+lo)/2; bool u=1; for(int j=1;j<i;j++){ u&=check(i,j,mid); } if(u){ lo=mid+0.00001; } else{ hi=mid-0.00001; } } p[i]=hi; } for(int i=1;i<=n;i++){ cout<<fixed<<setprecision(3)<<p[i]<<endl; } }
#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...