답안 #1094835

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1094835 2024-09-30T16:08:28 Z Kodik Balloons (CEOI11_bal) C++17
30 / 100
489 ms 7116 KB
#include <bits/stdc++.h>
using namespace std;
#define ss second
#define ff first
typedef long long ll;
typedef long double ld;
#define int ll




bool check(ld nr, ld lr, ld nx, ld lx){
    ld radius = abs(nr-lr);
    ld distance = abs(nx-lx);
    ld pyt = lr + nr;
    return (radius*radius + distance*distance - pyt*pyt ) >= ld(1e-10);
}


signed main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int n;
    cin >> n;
    vector<ld> answer(n);
    stack<pair<ld,ld>> st;
    for(int i = 0; i < n; ++i){
        ld cor, mr; 
        cin >> cor >> mr;
        if(st.empty()){
            answer[i] = mr;
            st.push({mr,cor});
        }else{
            while(true){
                auto &[lr, lx] = st.top();
                ld l = 0, r = mr;
                while(r-l>1e-10){
                    ld mid = l + (r-l)/2;
                    if(check(mid, lr, cor, lx)){
                        l = mid;
                    }else{
                        r = mid;
                    }

                }
                mr = l;
                if(l>lr){
                    st.pop();
                    mr = l;
                    if(st.empty()){
                        answer[i] = mr;
                        st.push({mr,cor});
                        break;
                    }
                }else{
                    st.push({mr,cor});
                    answer[i] = mr;
                    break;
                }
            }
        }
    }
    for(int i = 0; i < n; ++i){
        cout << answer[i] << '\n';
    }
    return 0;   
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 344 KB 10 numbers
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB 1st numbers differ - expected: '247294217.0000000000', found: '247294000.0000000000', error = '217.0000000000'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 348 KB 505 numbers
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 344 KB 2000 numbers
# 결과 실행 시간 메모리 Grader output
1 Incorrect 49 ms 1104 KB 2953rd numbers differ - expected: '1030.4380000000', found: '1030.4400000000', error = '0.0020000000'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 128 ms 2616 KB 251st numbers differ - expected: '15123.0020000000', found: '15123.0000000000', error = '0.0020000000'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 255 ms 4168 KB 285th numbers differ - expected: '7629.0020000000', found: '7629.0000000000', error = '0.0020000000'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 309 ms 4644 KB 511th numbers differ - expected: '4494.0050000000', found: '4494.0100000000', error = '0.0050000000'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 400 ms 5808 KB 164th numbers differ - expected: '1698.0020000000', found: '1698.0000000000', error = '0.0020000000'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 489 ms 7116 KB 248th numbers differ - expected: '2694.0020000000', found: '2694.0000000000', error = '0.0020000000'
2 Halted 0 ms 0 KB -