Submission #470017

#TimeUsernameProblemLanguageResultExecution timeMemory
470017Shogun3103Mobile (BOI12_mobile)C++17
85 / 100
1080 ms16176 KiB
#include <bits/stdc++.h> using namespace std; void setIO(string fileName = ""){ ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0); if(fileName.length()){ freopen((fileName+".in").c_str(), "r", stdin); freopen((fileName+".out").c_str(), "w", stdout); } } #define ll long long #define ld long double #define FOR(i,a,b) for(__typeof(b) i=a; i<=b; i++) #define FOD(i,a,b) for(__typeof(b) i=b; i>=a; i--) #define EACH(u, v) for(auto& u : v) #define sz(x) ((int)(x).size()) #define all(x) (x).begin(), (x).end() #define pb push_back #define ii pair<int,int> #define iii pair<int,ii> #define ld2 pair<ld, ld> #define ll2 pair<ll, ll> #define X first #define Y second #define ed "\n" #define sp " " const int oo = 1e9 + 7; const int N = 1e6 + 10; int n, len; ll2 a[N]; void solve() { cin >> n >> len; FOR(i, 1, n) cin >> a[i].X >> a[i].Y; double l = 1, r = 1.5e9; while(r - l > 1e-3) { double m = (l + r) / 2, cur = 0; FOR(i, 1, n) { double delta = sqrt(m * m - a[i].Y * a[i].Y); double x = a[i].X - delta, y = a[i].X + delta; if(x <= cur) cur = max(cur, y); } if(cur >= len) r = m; else l = m; } cout << fixed << setprecision(6) << l; } int main() { //setIO(""); int t; t = 1; //cin >> t; FOR(i, 1, t) { solve(); } return 0; }

Compilation message (stderr)

mobile.cpp: In function 'void setIO(std::string)':
mobile.cpp:8:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
    8 |         freopen((fileName+".in").c_str(), "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mobile.cpp:9:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
    9 |         freopen((fileName+".out").c_str(), "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#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...