Submission #1276613

#TimeUsernameProblemLanguageResultExecution timeMemory
1276613sunboiMobile (BOI12_mobile)C++20
0 / 100
1098 ms48136 KiB
#include <bits/stdc++.h> using namespace std; const double eps = 0; int main() { int n, l; cin >> n >> l; vector<pair<double, double>> a(n); for (int i = 0; i < n; i++){ cin >> a[i].first >> a[i].second; } double ini = 0, fin = 4 * 1e9; //cambiar a 4 * 1e9 despues for (int aux = 0; aux < 200; aux++){ double m = (ini + fin) / 2; vector<pair<double, double>> inter; //(x - x_0)^2 + (y - y_0)^2 = m^2 //evaluar para y = 0; //x - x_0 = +-sqrt(m^2 - y_0^2) for (int i = 0; i < n; i++){ double l = sqrt(m * m - a[i].second * a[i].second) + a[i].first; double r = -sqrt(m * m - a[i].second * a[i].second) + a[i].first; if (l > r) swap(l, r); inter.push_back({l, r}); } sort(inter.begin(), inter.end()); /*for (int i = 0; i < n; i++){ cout << inter[i].first << ' ' << inter[i].second; } cout << endl;*/ double ll = 0, rr = 0; bool covered = 1; for (int i = 0; i < n; i++){ if (inter[i].second < -eps) continue; if (rr - inter[i].first >= eps && inter[i].second - rr >= eps) rr = inter[i].second; } //cout << m << ' ' << ll << ' ' << rr << endl; if (rr - l > eps){ fin = m; }else ini = m; } cout << fixed << setprecision(6) << ini << endl; }
#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...