제출 #92944

#제출 시각아이디문제언어결과실행 시간메모리
92944KastandaSure Bet (CEOI17_sure)C++11
0 / 100
2 ms376 KiB
#include<bits/stdc++.h> using namespace std; const int N = 100005; int n; long long A[N], B[N]; int main() { ios::sync_with_stdio(0); cin.tie(0); cin >> n; for (int i = 1; i <= n; i++) { long double a, b; cin >> a >> b; A[i] = (int)(a * 10000); B[i] = (int)(b * 10000); } sort(A + 1, A + n + 1); sort(B + 1, B + n + 1); reverse(A + 1, A + n + 1); reverse(B + 1, B + n + 1); for (int i = 1; i <= n; i++) { A[i] += A[i - 1]; B[i] += B[i - 1]; } long long Mx = 0; for (int k = 1; k <= n + n; k ++) { int l = 0, r = k, md; if (k > n) l = k - n, r = n; while (r - l > 1) { md = (l + r) >> 1; if (B[md] >= A[k - md]) r = md; else l = md; } for (int i = max(k - n, l - 2); i <= min(n, r + 2); i++) Mx = max(Mx, min(B[i], A[k - i]) - k * 10000); } cout << Mx / 10000 << '.' << Mx % 10000 << endl; return (0); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...