Submission #545711

#TimeUsernameProblemLanguageResultExecution timeMemory
545711Sohsoh84Sure Bet (CEOI17_sure)C++17
0 / 100
11 ms15956 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<ll, ll> pll; #define all(x) (x).begin(),(x).end() #define X first #define Y second #define sep ' ' #define endl '\n' #define debug(x) cerr << #x << ": " << x << endl; const ll MAXN = 1e6 + 10; const ll HMM = 1e4; int n; ll A[MAXN], B[MAXN], ans, ps[MAXN]; inline void f() { for (int i = 1; i <= n; i++) ps[i] = ps[i - 1] + B[i]; ll s = 0; for (int i = 1; i <= n; i++) { s += A[i]; if (s > ps[n]) break; int ind = lower_bound(ps, ps + n + 1, s) - ps; ans = max(ans, s - HMM * (ind + i)); } } int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin >> n; for (int i = 1; i <= n; i++) { double a; cin >> a; A[i] = a * HMM; } for (int i = 1; i <= n; i++) { double a; cin >> a; B[i] = a * HMM; } sort(A + 1, A + n + 1, greater<ll>()); sort(B + 1, B + n + 1, greater<ll>()); f(); swap(A, B); f(); cout << setprecision(4) << fixed << double(ans) / HMM << endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...