Submission #1139096

#TimeUsernameProblemLanguageResultExecution timeMemory
1139096secretwood01Balloons (CEOI11_bal)C++17
100 / 100
85 ms6820 KiB
#include <iostream>
#include <vector>
#include <deque>
#include <cmath>
#include <iomanip>
#include <string>

using namespace std;

struct Bal {
    int x;
    double r;
    int rmax;
    Bal(int x, int rmax) : x(x), rmax(rmax), r(rmax) {}
};

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

    int N;
    cin >> N;

    vector<Bal> b;
    for (int i = 0; i < N; ++i) {
        int x, rmax;
        cin >> x >> rmax;
        b.emplace_back(x, rmax);
    }

    deque<int> s;
    for (int i = 0; i < N; ++i) {
        while (!s.empty()) {
            Bal &c = b[s.front()];
            double rLim = pow(b[i].x - c.x, 2) / (4.0 * c.r);
            b[i].r = min(b[i].r, rLim);
            if (b[i].r >= c.r) {
                s.pop_front();
            } else {
                break;
            }
        }
        s.push_front(i);
    }

    for (const Bal &a : b) {
        cout << fixed << setprecision(3) << a.r << "\n";
    }

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