Submission #1306820

#TimeUsernameProblemLanguageResultExecution timeMemory
1306820petezaMobile (BOI12_mobile)C++20
0 / 100
1098 ms57472 KiB
#include <bits/stdc++.h>
using namespace std;
using db = double;

vector<db> pos;

int n, len, x[1000005], y[1000005];
db l = 0, r = 3e9, mid;

int main() {
    cin.tie(0) -> sync_with_stdio(0);
    cin >> n >> len;
    for(int i=0;i<n;i++) {
        cin >> x[i] >> y[i];
    }
    for(int it=0;it<45;it++) {
        mid = (l+r)/2;
        vector<pair<db, int>> vec;
        vec.emplace_back(0, 0);
        for(int i=0;i<n;i++) {
            if(y[i] > mid) continue;
            db sq = sqrt(mid*mid-1ll*y[i]*y[i]);
            //e1 = x[i]-sq, e2 = x[i]+sq
            vec.emplace_back(max(x[i]-sq, (db)0), -1);
            if(x[i]+sq < len)
            vec.emplace_back(max((db)0, x[i]+sq), 1);    
        }
        sort(vec.begin(), vec.end());
        int cnt = 0, noo = 0;
        for(auto &e:vec) {
            cnt -= e.second;
            if(cnt <= 0) noo = 1;
        }
        if(noo) l = mid;
        else r = mid;
    }
    cout << fixed << setprecision(5) << l;
}
#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...
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...