Submission #465604

#TimeUsernameProblemLanguageResultExecution timeMemory
465604tphuc2908Mobile (BOI12_mobile)C++14
50 / 100
1096 ms48096 KiB
#include<bits/stdc++.h> using namespace std; #define rep(i, x, y) for(int i = x; i <= y; ++i) #define repi(i,x,y) for(int i = x; i >= y; --i) #define ci(x) int x; cin>> x #define TC(t) ci(t); while(t--) #define fi first #define se second #define pb push_back #define all(x) x.begin(), x.end() #define cii(x, y) ci(x); ci(y) #define mp make_pair typedef long long ll; typedef vector<int> vi; const int N = 1e6 + 5; const int mod = 1e9+7; const int inf = 1e9 + 5; void readfile(){ #ifdef ONLINE_JUDGE #else freopen("text.inp", "r", stdin); #endif // ONLINE_JUDGE // freopen("angry.in", "r", stdin); // freopen("angry.out", "w", stdout); } int n; double L; pair<double, double> a[N]; double pref[N]; void inp(){ cin >> n >> L; rep(i,1,n){ cii(x, y); a[i] = {double(x), double(y)}; } } bool check(double x){ x = x*x; vector<pair<double,double> > b; rep(i,1,n){ if(a[i].se > x) continue; double temp = sqrt(x - a[i].se); double val = a[i].fi + temp; double val1 = a[i].fi - temp; b.pb(mp(val1, val)); } sort(all(b)); double from = 0, to = L; rep(i,0,(int)b.size()-1) if(b[i].fi <= from && from <= b[i].se) from = b[i].se; return from >= to; } double res; void process(){ rep(i,1,n) a[i].se = a[i].se*a[i].se; double l = 0, r = 1e9; rep(i,1,50){ double mid = (l + r) / 2; if(check(mid)){ res = mid; r = mid; } else l = mid; } cout << fixed << setprecision(6) << res; } int main(){ //readfile(); ios_base::sync_with_stdio(0); cin.tie(0); inp(); process(); return 0; }

Compilation message (stderr)

mobile.cpp: In function 'void readfile()':
mobile.cpp:23:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   23 |         freopen("text.inp", "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
#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...