| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1349162 | hokhaiinn | Mobile (BOI12_mobile) | C++20 | 730 ms | 31756 KiB |
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using vi = vector<int>;
using pii = pair<int, int>;
using vvi = vector<vi>;
using str = string;
using vl = vector<ll>;
using vvl = vector<vl>;
using vp = vector<pii>;
using vs = vector<str>;
using ld = long double;
using si = set<int>;
using mii = map<int, int>;
#define st first
#define nd second
#define pb push_back
#define eb emplace_back
#define nn '\n'
#define ub upper_bound
#define lb lower_bound
#define LL_MAX LONG_LONG_MAX
#define LL_MIN LONG_LONG_MIN
#define it iterator
static const int _ = []() {
ios::sync_with_stdio(false);
cin.tie(NULL);
return 0;
}();
bool check(const int & n, const ld& m, const vector<pair<ld, ld>>& t, const ld & d){
ld l, r, ran;
int i = 0;
while (i < n && d * d < t[i].nd * t[i].nd){
++i;
}
if (i == n){
return false;
}
ran = sqrt(d * d - t[i].nd * t[i].nd);
l = t[i].st - ran;
r = t[i].st + ran;
stack<ld> gap;
for (; i < n; ++i){
if (d * d >= t[i].nd * t[i].nd){
ran = sqrt(d * d - t[i].nd * t[i].nd);
if (r >= 0 && t[i].st - ran > r){
gap.push(r);
}
while (!gap.empty() && t[i].st - ran <= gap.top()){
gap.pop();
}
l = min(l, t[i].st - ran);
r = max(r, t[i].st + ran);
}
}
return gap.empty() && r >= m && l <= 0;
}
int main(){
int n;
ld l;
cin >> n >> l;
fixed(cout);
vector<pair<ld, ld>> t(n);
for (int i = 0; i < n; ++i){
cin >> t[i].st >> t[i].nd;
}
ld lo, hi, mid;
lo = 0;
hi = 3e9;
while (lo < hi - 1e-6){
mid = (lo + hi) / 2;
if (check(n, l, t, mid)){
hi = mid;
} else {
lo = mid + 1e-6;
}
}
cout << setprecision(6) << lo;
return 0;
}| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
