Submission #669085

# Submission time Handle Problem Language Result Execution time Memory
669085 2022-12-05T14:36:14 Z kirakaminski968 Balloons (CEOI11_bal) C++17
100 / 100
655 ms 6976 KB
#include <bits/stdc++.h>
using namespace std;
double calc(pair<double,double> a,double bx){
    return (a.first-bx)*(a.first-bx)/(4*a.second);
}
int n;
int main()
{
    cin >> n;
    vector<double> answer(n);
    stack<pair<double,double>> s;
    for(int i = 0;i<n;i++){
        double x,r;
        cin >> x >> r;
        double ans = r;
        while(!s.empty()){
            pair<double,double> cur = s.top();
            ans = min(ans,calc(cur,x));
            if(ans >= cur.second){
                s.pop();
                continue;
            }
            break;
        }
        s.push(make_pair(x,ans));
        answer[i] = ans;
    }
    cout << fixed << setprecision(3);
    for(int i = 0;i<n;i++){
        cout << answer[i] << endl;
    }
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB 10 numbers
# Verdict Execution time Memory Grader output
1 Correct 1 ms 296 KB 2 numbers
# Verdict Execution time Memory Grader output
1 Correct 3 ms 212 KB 505 numbers
# Verdict Execution time Memory Grader output
1 Correct 6 ms 340 KB 2000 numbers
# Verdict Execution time Memory Grader output
1 Correct 52 ms 844 KB 20000 numbers
# Verdict Execution time Memory Grader output
1 Correct 153 ms 1924 KB 50000 numbers
2 Correct 144 ms 2044 KB 49912 numbers
# Verdict Execution time Memory Grader output
1 Correct 293 ms 3452 KB 100000 numbers
# Verdict Execution time Memory Grader output
1 Correct 331 ms 4032 KB 115362 numbers
2 Correct 363 ms 4384 KB 119971 numbers
# Verdict Execution time Memory Grader output
1 Correct 476 ms 5184 KB 154271 numbers
2 Correct 655 ms 6976 KB 200000 numbers
# Verdict Execution time Memory Grader output
1 Correct 561 ms 6152 KB 200000 numbers
2 Correct 609 ms 6940 KB 199945 numbers