Submission #520825

#TimeUsernameProblemLanguageResultExecution timeMemory
520825jparkMobile (BOI12_mobile)C++14
4 / 100
1085 ms41204 KiB
#include<iostream> #include<algorithm> #include<vector> #include<math.h> #define pii pair<int,int> #define f first #define s second using namespace std; int main(){ int n,le; cin >> n >> le; vector<pii> t; int a,b; for(int x=0; x<n; ++x){ cin >> a >> b; t.push_back({a,b}); } double l = 0; double r = 1e10; double mid; while(r-l>1e-5){ vector<pair<double,double>> range; mid = l+(r-l)/2; for(int x=0; x<n; ++x){ if(mid<t[x].s){ continue; } double mi = t[x].f-sqrt(mid*mid-t[x].s*t[x].s); double ma = t[x].f+sqrt(mid*mid-t[x].s*t[x].s); range.push_back({mi,ma}); } sort(range.begin(),range.end()); double maxc = 0; bool p = true; for(int x=0; x<range.size(); ++x){ if(range[x].s<0){ continue; } if(range[x].f>maxc){ p = false; break; } maxc = max(maxc,range[x].s); } if(p&&maxc>=le){ r = mid; } else{ l = mid; } } cout << l; }

Compilation message (stderr)

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