제출 #1271088

#제출 시각아이디문제언어결과실행 시간메모리
1271088sopaipillaBalloons (CEOI11_bal)C++20
100 / 100
109 ms11452 KiB
#include <bits/stdc++.h>
//#define int long long
#define pii pair<long double, long double>
#define fst first
#define snd second
#define endl "\n"
using namespace std;

int32_t main() {
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    cout << fixed << setprecision(3);

    int n;
    cin >> n;
    pii p[n];
    long double ans[n];
    for(int i=0; i<n; ++i) {
        auto &[x,y] = p[i];
        cin >> x >> y;
        ans[i]=y;
    }
    
    stack<pii> mnstk;
    long double aux;
    for(int i=0; i<n; ++i) {
        while(!mnstk.empty()) {
            auto [x,y] = mnstk.top();
            aux = (p[i].fst-x)*(p[i].fst-x);
            ans[i] = min(ans[i], aux/(4*y));

            if(ans[i]<y) break;
            mnstk.pop();
        }
        mnstk.push({p[i].fst,ans[i]});
    }
    
    for(long double &a : ans) cout << a << endl;
}
#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...