Submission #151731

#TimeUsernameProblemLanguageResultExecution timeMemory
151731forestryksSure Bet (CEOI17_sure)C++14
100 / 100
125 ms5240 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; using ld = long double; using pii = pair<int, int>; #define rep(i, n) for (int (i) = 0; (i) < (n); ++(i)) #define all(x) (x).begin(), (x).end() #define FAST_IO ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); const int MAXN = 2e5 + 5; int n; ld a[MAXN]; ld b[MAXN]; int main() { FAST_IO; cout.precision(10); cout.setf(ios::fixed); cin >> n; rep(i, n) { cin >> a[i] >> b[i]; } sort(a, a + n); sort(b, b + n); reverse(a, a + n); reverse(b, b + n); // ld res = 0; // ld s1 = 0; // rep(i, n) { // s1 += a[i]; // ld s2 = 0; // rep(j, n) { // s2 += b[j]; // res = max(res, min(s1, s2) - i - j - 2); // } // } // cout << res << endl; ld s1 = 0, s2 = 0; int p1 = 0, p2 = 0; ld res = 0; for (int c = 0; c < n * 2; ++c) { if (s1 < s2 && p1 < n) { s1 += a[p1++]; } else { s2 += b[p2++]; } res = max(res, min(s1, s2) - c - 1); } // cout << res << endl; printf("%.4lf",(double)res); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...