제출 #1178280

#제출 시각아이디문제언어결과실행 시간메모리
1178280qrnBalloons (CEOI11_bal)C++20
10 / 100
105 ms6616 KiB
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
using namespace std;
using namespace __gnu_pbds;

#define SPEED                     \
    ios_base::sync_with_stdio(0); \
    cin.tie(NULL);                \
    cout.tie(NULL);

#define pb push_back
#define ins insert
#define fi first
#define se second

#define endl "\n"
#define ALL(x) x.begin(), x.end()
#define sz(x) x.size()
#define intt long long

const intt mod = 1e9 + 7;
const intt base = 31;
const intt inf = 1e9;
const intt mxN = 2e5 + 5;
const intt L = 21;

void solve() {
    intt N;
    cin >> N;

    vector<pair<double,double>> C;

    for(intt i = 0; i < N; i++) {
        double X, R;
        cin >> X >> R;
        C.pb({X, R});
    }


    double maxR = 0, maxRa;
    intt  maxRi = 0;
    vector<double> ans(N);
    
    ans[0] = C[0].se;
    maxR = C[0].fi;
    maxRa = C[0].se;

    for(intt i = 1; i < N; i++) {
        // cout << maxR << " " << maxRa << " " << maxRi << endl;
        
        double r1 = (maxR - C[i].fi) * (maxR - C[i].fi) / (4.0 * maxRa);
        r1 = min(r1, (double)C[i].se);
        ans[i] = r1;

        if(maxR < C[i].fi && C[i].se >= maxRa) {
            maxR = C[i].fi;
            maxRa = C[i].se;
            maxRi = i;
        }
    }

    for(intt i = 0; i < N; i++) {
        cout.precision(3);
        cout << fixed << ans[i] << endl;
    }
}

signed main() {
    SPEED;
    intt tst = 1;
    // cin >> tst;
    while (tst--) {
        solve();
    }
}

#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...