Submission #1019692

#TimeUsernameProblemLanguageResultExecution timeMemory
1019692overwatch9Sure Bet (CEOI17_sure)C++17
100 / 100
96 ms5300 KiB
#include <bits/stdc++.h>
using namespace std;
int main() {
    int n;
    cin >> n;
    vector <pair <double, double>> nums(n);
    for (int i = 0; i < n; i++) {
        double a, b;
        cin >> a >> b;
        nums[i].first = a;
        nums[i].second = b;
    }
    vector <double> a(n), b(n);
    for (int i = 0; i < n; i++) {
        a[i] = nums[i].first;
        b[i] = nums[i].second;
    }
    sort(a.begin(), a.end());
    sort(b.begin(), b.end());
    double l = 0, r = 0;
    double ans = 0;
    int pt1 = n-1, pt2 = n-1;
    double cnt = 0;
    while (cnt < 2 * n) {
        if ((l < r && pt1 >= 0) || pt2 < 0) {
            l += a[pt1];
            pt1--;
        } else {
            r += b[pt2];
            pt2--;
        }
        cnt++;
        ans = max(ans, min(l, r) - cnt);
    }
    printf("%.4lf", ans);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...