Submission #1210973

#TimeUsernameProblemLanguageResultExecution timeMemory
1210973spetrBalloons (CEOI11_bal)C++20
60 / 100
2095 ms16556 KiB
#include <bits/stdc++.h>

using namespace std;

#define ll long long
const ll mod = 1e9 + 9; 
const ll mmod = 998244353;  
#define vl vector<long long>
#define vll vector<vector<long long>>

ll pow(ll x, ll n, ll mod){
    if (n == 0){
        return 1;
    }
ll half = pow(x, n / 2, mod);
ll half_square = (half * half) % mod;

if (n % 2 == 0) {
    return half_square;
} else {
    return (half_square * x) % mod;
}
}   


ll inversion_x(ll x, ll m){
    ll vysledek = pow(x,m-2);
    return vysledek;
}


int main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    ll n;
    cin >> n;
    vector<vector<double>> cisla;

    for (ll i = 0; i < n; i++){
        double x,y;
        cin >> x>>y;
        cisla.push_back({x,y});
    }

    vector<double> polomery; 
    vector<vector<double>> aktivni;
    for (ll i = 0; i < n; i++){
        double nejvetsi = cisla[i][1];
        for (ll j = 0; j < aktivni.size(); j++){
            double rozdil = aktivni[j][0] - cisla[i][0];
            nejvetsi = min(rozdil*rozdil/(4*aktivni[j][1]), nejvetsi);
        }

        polomery.push_back(nejvetsi);
        ll pos = aktivni.size()-1;
        while (pos >= 0 && nejvetsi > aktivni[pos][1]){
            aktivni.pop_back();
            pos --;
        }
        aktivni.push_back({cisla[i][0], nejvetsi});


    }

    for (ll i = 0; i < n; i++){
        cout << polomery[i] << fixed << setprecision(3) << "\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...