Submission #1296518

#TimeUsernameProblemLanguageResultExecution timeMemory
1296518KindaGoodGamesMobile (BOI12_mobile)C++20
0 / 100
1097 ms31704 KiB
#include<bits/stdc++.h> #define ll long long #define int ll #define double long double #define pii pair<double,double> #define tiii tuple<int,int,int> using namespace std; double INF = 1e16; double eps = 1e-6; int n; double L; double dist(pii a, pii b){ double x = a.first-b.first; double y = a.second-b.second; // return (x*x)+(y*y); return sqrtl((x*x)+(y*y)); } double intersect(pii a, pii b){ double ydiff = a.second-b.second; double x1 = a.first; double x2 = b.first; double res1 = (x1+x2)/2.0L; double res2 = ydiff; res2 /= 2.0L*(x1-x2); double p = res1+res2; // p = min(p,L); // p = max(p,0.0L); return p; } vector<pii> arr; double calc(double p){ double mi = INF; for(int k = 0; k < n; k++){ mi = min(mi, dist(arr[k], {p,0.0L})); } return mi; } int32_t main(){ cin >> n >> L; arr.resize(n); for(int i = 0 ;i < n; i++){ cin >> arr[i].first >> arr[i].second; } double r = 0; for(int i = 0 ;i < n; i++){ for(int j = 0; j < n; j++){ double p = -1; if(arr[i].first == arr[j].first) { p = arr[i].first; }else{ p = intersect(arr[i],arr[j]); } // if(p < eps || p > L+eps) continue; r = max(r,calc(p)); } } r = max(r,calc(0)); r = max(r,calc(L)); cout << fixed << setprecision(8); cout << r << "\n"; }
#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...