Submission #1101205

#TimeUsernameProblemLanguageResultExecution timeMemory
1101205zyadhanyMobile (BOI12_mobile)C++17
0 / 100
1064 ms48312 KiB
#define _CRT_SECURE_NO_WARNINGS #include <bits/stdc++.h> #include <unordered_map> #include <unordered_set> #define ll long long #define ld long double #define pl pair<ll, ll> #define vi vector<ll> #define vii vector<vi> #define vc vector<char> #define vcc vector<vc> #define vp vector<pl> #define mi map<ll,ll> #define mc map<char,ll> #define sortx(X) sort(X.begin(),X.end()); #define all(X) X.begin(),X.end() #define ln '\n' #define YES {cout << "YES\n"; return;} #define NO {cout << "NO\n"; return;} #define MUN {cout << "-1\n"; return;} const int MODE = 1e9 + 7; using namespace std; void solve(int tc) { ll n, len; cin >> n >> len; vp X(n); for (int i = 0; i < n; i++) cin >> X[i].first >> X[i].second; double l = 0, r = 1.5e9; double err = 1e-3; while (r - l > err) { double mid = (l + r) / 2; bool isit = 0; ll a, b; a = b = 0; vector<pair<double, double>> Z; for (int i = 0; i < n; i++) { if (X[i].second > mid) continue; double diff = sqrt(mid * mid - X[i].second * X[i].second); double a = X[i].first - diff; double b = X[i].first + diff; Z.push_back({a, b}); } sortx(Z); for (int i = 1; i < Z.size(); i++) { if (Z[i].first > Z[i - 1].second) isit = 1; Z[i].second = max(Z[i].second, Z[i - 1].second); } if (Z.empty() || Z[0].first > 0 || Z.back().second < len) isit = 1; if (isit) l = mid; else r = mid - err; } cout << fixed << setprecision(4) << l << '\n'; } int main() { ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr); int size = 1; //freopen("loan.in", "r", stdin); //freopen("loan.out", "w", stdout); //cin >> size; for (int i = 1; i <= size; i++) solve(i); }

Compilation message (stderr)

mobile.cpp: In function 'void solve(int)':
mobile.cpp:58:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<double, double> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   58 |         for (int i = 1; i < Z.size(); i++)
      |                         ~~^~~~~~~~~~
mobile.cpp:44:12: warning: variable 'a' set but not used [-Wunused-but-set-variable]
   44 |         ll a, b; a = b = 0;
      |            ^
#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...