Submission #1174178

#TimeUsernameProblemLanguageResultExecution timeMemory
1174178paskalisapoBalloons (CEOI11_bal)C++20
0 / 100
144 ms5088 KiB
#include<bits/stdc++.h>
using namespace std;
using dd = long double;

int main() {
    dd n;
    cin >> n;
    stack<pair<dd,dd>> s;
    vector<dd> bsize(n);
    
    for(int i = 0 ;i < n; i++) {
        dd val, msize;

        cin >> val;
        cin >> msize;
        if(s.empty()) {
            bsize[i] = msize;
            s.push({msize , i});
            continue;
        }
        dd rnow = msize;
        while(!s.empty()) {
            dd dist = val - s.top().second;
            dd rprev = s.top().first;
            rnow = min(rnow, (dist * dist) / (4 * rprev));
            if(rnow < rprev) {
                bsize[i] = rnow;
                break;
            }
            else {
                s.pop();
            }
        }
        s.push({rnow , i});
    }


    for(auto &x: bsize) {
        printf("%.3Lf\n", x);
    }   
}
#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...