Submission #482368

#TimeUsernameProblemLanguageResultExecution timeMemory
482368BertedBalloons (CEOI11_bal)C++14
20 / 100
221 ms12140 KiB
#include <iostream>
#include <stack>
#include <iomanip>
#include <vector>
#define ld long double
#define pdd pair<ld, ld>
#define fst first
#define snd second

using namespace std;

int N;
vector<pdd> S;

int main()
{
    ios :: sync_with_stdio(0); cin.tie(0);
    cin >> N;
    for (int i = 0; i < N; i++)
    {
        ld X, R; cin >> X >> R;
        while (S.size() > 1)
        {
            if ((X - S.back().fst) * (X - S.back().fst)/ (4 * S.back().snd) >= (X - S[S.size() - 2].fst) * (X - S[S.size() - 2].fst) / (4 * S[S.size() - 2].snd)) {S.pop_back();}
            else {break;}
        }
        if (S.size()) {R = min(R, (X - S.back().fst) * (X - S.back().fst)/ (4 * S.back().snd));}
        S.push_back({X, R});
        cout << fixed << setprecision(3) << 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...