답안 #932362

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
932362 2024-02-23T08:48:58 Z HuyAT Mobile (BOI12_mobile) C++14
0 / 100
1000 ms 89732 KB
#include<bits/stdc++.h>

const int MaxN = 1e6 + 10;
const long double Eps = 1e-6;
const long double MaxV = 1e18;

int n;
long double length,x[MaxN + 1],y[MaxN + 1];

void readData(){
    std::cin >> n >> length;
    for(int i = 1;i <= n;++i){
        std::cin >> x[i] >> y[i];
    }
}
bool f(long double mid){
//    bool found = false;
    long double l = 1e10,r = 1e10;
    std::vector<std::pair<long double,long double>> v;
    for(int i = 1;i <= n;++i){
        if(mid < y[i]){
            continue;
        }
        long double distance = sqrt(mid * mid - y[i] * y[i]);
        v.emplace_back(x[i] - distance,x[i] + distance);
    }
    std::sort(v.begin(),v.end());
    if(v.empty()){
        return false;
    }
    l = v[0].first;
    r = v[0].second;
//    long double l = 1e10,r = 1e10;
    for(int i = 1;i < (int)v.size();++i){
        if(v[i].first > r && fabs(v[i].first - r) > Eps){
            return false;
        }
        r = std::max(r,v[i].second);
    }
    return ((l <= 0 || fabs(l) < Eps) && (r >= length || fabs(r - length) < Eps));
}
long double solve(long double lo,long double hi){
    while(hi - lo > Eps){
        long double mid = (lo + hi) / 2;
        if(f(mid)){
            hi = mid;
        }else{
            lo = mid;
        }
//        std::cerr << mid << "\n";
    }
    return hi;
}
int main(){
    std::ios_base::sync_with_stdio(false);
    std::cin.tie(nullptr);std::cout.tie(nullptr);
    readData();
    std::cout << std::fixed << std::setprecision(6) << solve(0,MaxV * 2);
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 2392 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
3 Correct 1 ms 2396 KB Output is correct
4 Incorrect 1 ms 2396 KB Output isn't correct
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 2392 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 18 ms 2824 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 49 ms 3060 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 37 ms 3072 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 30 ms 3064 KB Output is correct
2 Correct 32 ms 3096 KB Output is correct
3 Correct 42 ms 3212 KB Output is correct
4 Incorrect 44 ms 3112 KB Output isn't correct
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 450 ms 15836 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 733 ms 14868 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 659 ms 15220 KB Output is correct
2 Correct 733 ms 14276 KB Output is correct
3 Correct 933 ms 14632 KB Output is correct
4 Execution timed out 1064 ms 15676 KB Time limit exceeded
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 797 ms 16060 KB Output is correct
2 Correct 948 ms 15424 KB Output is correct
3 Execution timed out 1059 ms 15392 KB Time limit exceeded
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 686 ms 15232 KB Output is correct
2 Correct 929 ms 15168 KB Output is correct
3 Execution timed out 1073 ms 14788 KB Time limit exceeded
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1014 ms 53648 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1043 ms 55540 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1049 ms 75944 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1016 ms 79588 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1012 ms 79304 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1084 ms 81640 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1026 ms 83760 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1025 ms 86144 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1045 ms 86016 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1027 ms 89732 KB Time limit exceeded
2 Halted 0 ms 0 KB -