Submission #1105024

#TimeUsernameProblemLanguageResultExecution timeMemory
1105024ezzzayBalloons (CEOI11_bal)C++14
0 / 100
2061 ms4824 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)+(R-yj)*(R-yj);
    double f=R+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;
    }
}

Compilation message (stderr)

bal.cpp: In function 'bool check(long long int, long long int, double)':
bal.cpp:11:28: warning: unused variable 'rj' [-Wunused-variable]
   11 |     double xj=x[j],yj=p[j],rj=p[j];
      |                            ^~
bal.cpp:12:20: warning: unused variable 'yi' [-Wunused-variable]
   12 |     double xi=x[i],yi=R,ri=R;
      |                    ^~
#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...