제출 #1210986

#제출 시각아이디문제언어결과실행 시간메모리
1210986spetrBalloons (CEOI11_bal)C++20
90 / 100
122 ms16700 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];
        
        while (aktivni.size() > 0){
            double rozdil = aktivni[aktivni.size()-1][0] - cisla[i][0];
            double update = rozdil*rozdil/(4*aktivni[aktivni.size()-1][1]);
            nejvetsi = min(update,nejvetsi);
            if (nejvetsi >= aktivni[aktivni.size()-1][1]){
                aktivni.pop_back();
            }
            else{
                break;  
            }
        }
        aktivni.push_back({cisla[i][0], nejvetsi});
        polomery.push_back(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...