Submission #1098729

#TimeUsernameProblemLanguageResultExecution timeMemory
1098729sanoMobile (BOI12_mobile)C++14
60 / 100
1066 ms48928 KiB
#include<iostream> #include<vector> #include<queue> #include<deque> #include<string> #include<fstream> #include<algorithm> #include <iomanip> #include<map> #include <set> #include <unordered_map> #include <stack> #include <unordered_set> #include <cmath> #define ll long long #define For(i, n) for(int i = 0; i < (int)n; i++) #define ffor(i, a, n) for(int i = (int)a; i < (int)n; i++) #define rfor(i, n) for(int i = (int)n; i >= (int)0; i--) #define rffor(i, a, n) for(int i = (int)n; i >= (int)a; i--) #define vec vector #define ff first #define ss second #define pb push_back #define shit short int #define pii pair<long double, long double> #define NEK 2147483640 #define mod 1000000007 #define mod2 1000000009 #define rsz resize #define prv1 43 #define prv2 47 #define D 8 using namespace std; int main() { long double n, asd; cin >> n >> asd; vec<pii> p; For(i, n) { long double x, y; cin >> x >> y; x *= 10000; y *= 10000; if (p.size() > 0) { if (x == p.back().ff && y > 0 && p.back().ss > 0) continue; if (x == p.back().ff && y < 0) p.pop_back(); } p.push_back({ x, y }); } ll l = 0; ll r = 14142135700000; asd *= 10000; while (l < r) { long double mid = (l + r) / 2; long double k = 0; For(i, p.size()) { long double jeden = mid * mid; long double dva = p[i].second * p[i].second; long double tri = jeden - dva; long double d = sqrt(tri); long double s = p[i].ff - d; long double e = p[i].ff + d; if (s > k) continue; k = max(k, e); } if (k >= asd) r = mid; else l = mid + 1; } cout << fixed << setprecision(5); long double l2 = l; l2 /= 10000; cout << l2 << '\n'; return 0; }
#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...