Submission #1273404

#TimeUsernameProblemLanguageResultExecution timeMemory
1273404AksLolCodingSure Bet (CEOI17_sure)C++17
100 / 100
46 ms2004 KiB
#include <bits/stdc++.h>
using namespace std;
using ld = double;

void solve() {
    int n;
    cin >> n;
    vector<ld> a(n), b(n);
    for (int i = 0; i < n; i++) cin >> a[i] >> b[i];

    // solve
    sort(a.rbegin(), a.rend());
    sort(b.rbegin(), b.rend());
    int ap = 0, bp = 0;
    ld as = 0, bs = 0, ans = 0;
    for (int i = 0; i < 2*n; i++) {
        if (as < bs) {
            if (ap == n) break;
            as += a[ap++];
        } else {
            if (bp == n) break;
            bs += b[bp++];
        }
        ans = max(ans, min(as, bs) - i - 1);
    }
    cout << fixed << setprecision(4) << ans << '\n';
}

signed main() {
    cin.tie(0)->sync_with_stdio(0);
    solve();
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...