답안 #845846

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
845846 2023-09-06T16:28:30 Z BidoTeima Balloons (CEOI11_bal) C++17
100 / 100
152 ms 5500 KB
#include <bits/stdc++.h>
using namespace std;
typedef long double ld;

ld get_rad(ld x1, ld r1, ld x2){
    return (x2 - x1) * (x2 - x1) / (4 * r1);
}

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int n;
    cin>>n; 
    stack<pair<int,ld>>st;
    for(int i = 0; i < n; i++){
        int x2; 
        ld r;
        cin>>x2>>r;
        while(st.size()){
            int x1 = st.top().first;
            ld r1 = st.top().second; 
            r=min(r,get_rad(x1,r1,x2));
            if(r>=r1)st.pop();
            else{
                cout<<fixed<<setprecision(3)<<r<<'\n';
                st.push({x2,r});
                break;
            }
        }
        if(st.empty()){
            cout<<fixed<<setprecision(3)<<r<<'\n';
            st.push({x2,r});
        }
    }
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB 10 numbers
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 344 KB 2 numbers
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB 505 numbers
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 468 KB 2000 numbers
# 결과 실행 시간 메모리 Grader output
1 Correct 17 ms 824 KB 20000 numbers
# 결과 실행 시간 메모리 Grader output
1 Correct 44 ms 1732 KB 50000 numbers
2 Correct 38 ms 1620 KB 49912 numbers
# 결과 실행 시간 메모리 Grader output
1 Correct 85 ms 2932 KB 100000 numbers
# 결과 실행 시간 메모리 Grader output
1 Correct 96 ms 3388 KB 115362 numbers
2 Correct 85 ms 3468 KB 119971 numbers
# 결과 실행 시간 메모리 Grader output
1 Correct 140 ms 4132 KB 154271 numbers
2 Correct 147 ms 5404 KB 200000 numbers
# 결과 실행 시간 메모리 Grader output
1 Correct 152 ms 4800 KB 200000 numbers
2 Correct 146 ms 5500 KB 199945 numbers