Submission #738440

#TimeUsernameProblemLanguageResultExecution timeMemory
738440LKR__enjoyerMobile (BOI12_mobile)C++17
0 / 100
1079 ms57488 KiB
#include <iostream> #include<bits/stdc++.h> #define pb push_back #define f first #define s second typedef long long ll; typedef long double ld; using namespace std; int n,l; vector<pair<int,int>> pkt; bool spr(long double rad); long double bin(ld lo,ld hi) { for(int i=0;i<100;i++) { ld mid=lo+(hi-lo)/2; if(spr(mid))hi=mid; else lo=mid; } return lo; } int main() { cin>>n>>l; for(int i=0;i<n;i++) {int a,b; cin>>a>>b; pkt.pb({a,b}); } cout<<setprecision(9)<<bin(0,(ld)2*l); return 0; } bool spr(ld rad){ vector<pair<ld,ld>> pts={}; for(auto p : pkt) { ld x=(ld)p.f,y=(ld)p.s; if(y>rad)continue; ld x1=x-sqrt(rad*rad-y*y),x2=x+sqrt(rad*rad-y*y); pts.pb({x1,x2}); } if(pts[0].f>0||pts[pts.size()-1].s<(ld)l)return 0; for(int i=1;i<pts.size();i++) if(pts[i].f>pts[i-1].s)return 0; return 1; }

Compilation message (stderr)

mobile.cpp: In function 'bool spr(ld)':
mobile.cpp:43:14: 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]
   43 | for(int i=1;i<pts.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...