Submission #841614

#TimeUsernameProblemLanguageResultExecution timeMemory
841614a5a7Mobile (BOI12_mobile)C++14
4 / 100
1088 ms90980 KiB
#include <bits/stdc++.h> #define ALL(x) (x).begin(), (x).end() #define REP(i, a, b) for (int i = (a); i < (b); i++) #define READ(arr, n) for (int i = 0; i < (n); i++) cin >> arr[i]; #define ABS(a) (max((a), -(a))) using namespace std; typedef long long ll; typedef long double ld; int main(){ ios::sync_with_stdio(false); cin.tie(0); int n; ld l; cin >> n >> l; pair<ld, ld> stations[n]; ld r = 0; for (int i = 0; i < n; i++) { cin >> stations[i].first >> stations[i].second; r = max(r, sqrtl(max((ld) 0, (l-stations[i].first)*(l-stations[i].first)-stations[i].second*stations[i].second))); } ld le = 0; while ((r-le)>0.0001){ ld m = (le+r)/2; vector<pair<ld, ld>> ranges; for (int i = 0; i < n; i++){ if (ABS(stations[i].second) >= m) continue; ld sq = sqrtl(m * m - stations[i].second * stations[i].second); ranges.push_back({stations[i].first-sq, stations[i].first+sq}); } sort(ALL(ranges)); ld loc = 0; for (int i = 0; i < ranges.size(); i++){ if (loc > ranges[i].first){ loc = max(loc, ranges[i].second); } } if (loc >= l){ r = m; }else{ le = m; } } cout << le << endl; }

Compilation message (stderr)

mobile.cpp: In function 'int main()':
mobile.cpp:32:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<long double, long double> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   32 |         for (int i = 0; i < ranges.size(); i++){
      |                         ~~^~~~~~~~~~~~~~~
#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...