제출 #1240500

#제출 시각아이디문제언어결과실행 시간메모리
1240500ZeroBalloons (CEOI11_bal)C++20
40 / 100
2096 ms6468 KiB
#include <bits/stdc++.h>

using namespace std;

signed main(){
    cin.tie(0)->sync_with_stdio(0);
    
    int n; cin >> n;
    vector<pair<double,double>> a(n), b(n);
    for(auto &i : a) cin >> i.first >> i.second;
    b[0] = {a[0].first,a[0].second};
    for(int i=1; i < n; i ++){
        double l = 0, r = a[i].second;
        double x = a[i].first;
        for(int j=0; j < 50; j ++){
            double m = (l + r) / 2;
            bool ok = 1;
            for(int k=i-1; k >=0; k --){
                if((b[k].first-x)*(b[k].first-x)+(b[k].second-m)*(b[k].second-m) < (m+b[k].second)*(m+b[k].second)){
                    ok = 0;
                    break;
                }
            }
            if(ok) l = m;
            else r = m;
        }
        b[i] = {x,l};
    }
    for(auto i : b){
        cout << fixed << setprecision(3) << i.second << '\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...