#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
int n;
long double x, y, a, b;
long double xl = -1, al;
long double xl2 = -1, al2;
long double xl3 = -1, al3;
long double xl4 = -1, al4;
long double xl5 = -1, al5;
long double xl6 = -1, al6;
long double xl7 = -1, al7;
long double xl8 = -1, al8;
long double dis(long double m) {
    long double p = sqrt((x - a) * (x - a) + (m - y) * (m - y));
    return p;
}
long double dis2(long double m) {
    return sqrt((a - xl) * (a - xl) + (m - al) * (m - al));
}
long double dis3(long double m) {
    return sqrt((a - xl2) * (a - xl2) + (m - al2) * (m - al2));
}
long double dis4(long double m) {
    return sqrt((a - xl3) * (a - xl3) + (m - al3) * (m - al3));
}
long double dis5(long double m) {
    return sqrt((a - xl4) * (a - xl4) + (m - al4) * (m - al4));
}
long double dis6(long double m) {
    return sqrt((a - xl5) * (a - xl5) + (m - al5) * (m - al5));
}
long double dis7(long double m) {
    return sqrt((a - xl6) * (a - xl6) + (m - al6) * (m - al6));
}
long double dis8(long double m) {
    return sqrt((a - xl7) * (a - xl7) + (m - al7) * (m - al7));
}
long double dis9(long double m) {
    return sqrt((a - xl8) * (a - xl8) + (m - al8) * (m - al8));
}
long double Find() {
    long double l = 0, r = b, ans = 0;
    for (int i = 1; i <= 100; ++i) {
        long double m = (l + r) / 2.0;
        if (dis(m) >= y + m) {
            if (xl == -1 || dis2(m) >= al + m) {
                if (xl2 == -1 || dis3(m) >= al2 + m) {
                    if (xl3 == -1 || dis4(m) >= al3 + m) {
                        if (xl4 == -1 || dis5(m) >= al4 + m) {
                            if (xl5 == -1 || dis6(m) >= al5 + m) {
                                if (xl6 == -1 || dis7(m) >= al6 + m) {
                                    if (xl7 == -1 || dis8(m) >= al7 + m) {
                                        if (xl8 == -1 || dis9(m) >= al8 + m) {
                                            ans = m;
                                            l = m;
                                        } else r = m;
                                    } else r = m;
                                } else r = m;
                            } else r = m;
                        } else r = m;
                    } else r = m;
                } else r = m;
            } else r = m;
        } else r = m;
    }
    return ans;
}
int main() {
    cin.tie(nullptr);
    cout.tie(nullptr);
    ios_base::sync_with_stdio(false);
    cin >> n;
    x = -1e9;
    y = 0;
    for (int i = 1; i <= n; ++i) {
        cin >> a >> b;
        long double ans = Find();
        printf("%.3Lf\n", ans);
        xl8 = xl7;
        al8 = al7;
        xl7 = xl6;
        al7 = al6;
        xl6 = xl5;
        al6 = al5;
        xl5 = xl4;
        al5 = al4;
        xl4 = xl3;
        al4 = al3;
        xl3 = xl2;
        al3 = al2;
        xl2 = xl;
        al2 = al;
        xl = a;
        al = ans;
        if (abs(a + ans - x - y) <= 1e-10) continue;
        if (a + ans > x + y) {
            x = a;
            y = ans;
        }
    }
    return 0;
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |