제출 #409073

#제출 시각아이디문제언어결과실행 시간메모리
409073iulia13Sure Bet (CEOI17_sure)C++14
100 / 100
185 ms3560 KiB
#include <iostream> #include <algorithm> #include <iomanip> using namespace std; const int N = 1e5 + 5; double a[N]; double b[N]; int main() { int i, n; double ans = 0; double sumA = 0, sumB = 0; cin >> n; for (i = 1; i <= n; i++) { cin >> a[i] >> b[i]; a[i] -= 1.0; b[i] -= 1.0; } sort(a + 1, a + n + 1); sort(b + 1, b + n + 1); reverse(a + 1, a + n + 1); reverse(b + 1, b + n + 1); int j = 1; for (i = 1; i <= n; i++) { sumA += a[i]; sumB -= 1.0; double prv = min(sumA, sumB); ans = max(ans, prv); int h = j; while (h <= n) { if (min(sumA - 1.0, sumB + b[h]) > prv) { sumA -= 1.0; sumB += b[h]; prv = min(sumA, sumB); ans = max(ans, prv); h++; } else break; } j = h; } cout << fixed << setprecision(4) << ans; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...