제출 #435231

#제출 시각아이디문제언어결과실행 시간메모리
435231harshith828Balloons (CEOI11_bal)C++14
0 / 100
304 ms5396 KiB
#include <bits/stdc++.h>
#include <iomanip>
using namespace std;

int main(){
    
    int n;
    cin >> n;
    stack<pair<int,int>> s;
    int x,r;
    vector<long double> v;
    for(int i = 0;i < n;i++){
        cin >> x >> r;
        long double radius;
        while(!s.empty() and (s.top()).first + (s.top()).second >= x - r and r > (s.top()).second){
            s.pop();
        }
        if(!s.empty() and (s.top()).first + (s.top()).second >= x - r){
            radius = ((long double)(((s.top()).first - x)*((s.top()).first - x)))/(4.0*(s.top()).second);
        }
        else{
            radius = r;
        }
        if(radius > r){
            radius = r;
        }
        v.push_back(radius);
        s.push(make_pair(x,radius));
    }
    for(int i = 0;i < n;i++){
        cout << fixed << setprecision(3);
        if(i != n - 1){
            cout << v[i] << "\n";
        }
        else{
            cout << v[i];
        }
    }
    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...