Submission #492236

#TimeUsernameProblemLanguageResultExecution timeMemory
492236darkowlBalloons (CEOI11_bal)C++14
10 / 100
210 ms8260 KiB
/// I in it to win it !

#include <bits/stdc++.h>
using namespace std;

#define ll                       long long
#define int ll
#define F                        first
#define S                        second
#define mp                       make_pair
#define pii                      pair<int, int>
#define pb                       push_back
#define pf                       push_front
#define arr_fill(a, n)           for(ll i = 0 ; i < n ; i++){cin >> a[i];}
#define arr_fill_sum(a,n,sum)    for (ll i = 0 ; i < n ; i++){cin >> a[i];sum+=a[i];}
#define arr_out(a,n)             for (ll i = 0 ; i < n ; i++){cout << a[i] <<" ";}
#define fast                     ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);

const ll MAXN = 1e6 + 5;
const ll MOD = 1e9 + 7;
const ll INF = 1e18 + 7;
ll pw(ll a, ll b){return b == 0 ? 1LL : (pw(a * a  , b / 2) * (b % 2 == 0 ? 1LL : a));}
stack < int > s;
long double x[MAXN], r[MAXN];

void solve ()
{
    int n; cin >> n ;
    cout << fixed << setprecision(3);
    for(int i = 0; i < n; i++)
    {
        cin >> x[i] >> r[i];
        if (s.empty())
            {s.push(i); cout << r[i] <<"\n";continue;}
        long double vd =((double)(pw(x[i] - x[s.top()], 2)/(4 * r[s.top()])));
        ///cout <<"vd : " << vd <<"\n";
        if (vd > r[i])
            {cout  <<  r[i] <<"\n";}
        else
            {cout  << vd <<"\n";r[i] = vd;s.push(i);}
    }
}


int32_t main()
{
    fast
    int t = 1; //cin >> t;
    while (t--)
    {
        solve();
    }
    return 0;
}

///Thanks GOD :))
#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...