Submission #928574

#TimeUsernameProblemLanguageResultExecution timeMemory
928574ind1vSure Bet (CEOI17_sure)C++11
100 / 100
127 ms8448 KiB
#include <bits/stdc++.h> using namespace std; const int N = 1e5 + 5; int n; long double a[N], b[N]; long double sa[N], sb[N]; int main() { ios::sync_with_stdio(false); cin.tie(0); cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i] >> b[i]; sa[i] = a[i] - 1; sb[i] = b[i] - 1; } sort(sa + 1, sa + n + 1, greater<long double>()); sort(sb + 1, sb + n + 1, greater<long double>()); long double lo = 0.0F, hi = 1e8; for (int ite = 1; ite <= 100; ite++) { long double mid = (lo + hi) * 0.5F; bool f = false; long double a = 0, b = 0; for (int x = 0, y = 0; x <= n; x++) { while (y + 1 <= n && a - (y + 1) >= mid) { y++; b += sb[y]; } f |= (a - y >= mid && b - x >= mid); a += sa[x + 1]; } if (f) { lo = mid; } else { hi = mid; } } cout << fixed << setprecision(4) << lo << '\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...