Submission #1119485

#TimeUsernameProblemLanguageResultExecution timeMemory
1119485Miquella_Balloons (CEOI11_bal)C++14
100 / 100
175 ms32192 KiB
#include <bits/stdc++.h>
#define ll long long
#define pb push_back
#define S second
#define F first
#define all(x) (x).begin(), (x).end()
#define el "\n"
#define fo(i,a,b) for(int i =a;i<=b;i++)
#define fo1(i,a,b) for(int i =a;i>=b;i--)
#define bit(mask,i) ((mask>>i)&1)
#define pi pair<ll,ll>
#define NAME ""
using namespace std;

const int MAXN = 1e6+5;
const ll MOD = 1e9+7;
const int maxp = 2e7;

double n,a[MAXN],res,m,k,t,r[MAXN];
vector<ll> adj[MAXN];
deque<ll> deq;

double maxRadius(double x,double y,double x1) {
    return ((x-x1)*(x-x1)) / (4*y);
}

void inp() {
    cin >> n;
    fo(i,1,n){
        cin >> a[i] >> r[i];
    }
}

void solve() {
    fo(i,1,n) {
        double temp = r[i];
        while(!deq.empty()) {
            ll pos = deq.back();
            temp=min(temp, maxRadius(a[pos],r[pos],a[i]));
            if(temp>=r[pos])deq.pop_back();
            else break;
        }
        deq.push_back(i);
        r[i]=temp;
        cout << setprecision(3)<<fixed << r[i] << el;
    }
}

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
//    freopen(NAME".INP", "r", stdin);
//    freopen(NAME".OUT", "w", stdout);
    inp();
    solve();
    return 0;
}

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