Submission #1225762

#TimeUsernameProblemLanguageResultExecution timeMemory
1225762giorgi123glmSure Bet (CEOI17_sure)C++20
0 / 100
0 ms324 KiB
#include <initializer_list>
#include <iomanip>
#include <iostream>
#include <map>
#include <queue>
#include <set>
#include <vector>
#include <algorithm>
#include <functional>
#include <fstream>
using namespace std;

#define int long long

signed main () {
    ios::sync_with_stdio (false);
    cin.tie (0);
    cout.tie (0);

    int N = 0;
    cin >> N;

    vector <double> a (N + 1);
    vector <double> b (N + 1);
    for (int i = 1; i <= N; i++)
        cin >> a[i] >> b[i];

    sort (a.begin() + 1, a.end(), greater ());
    sort (b.begin() + 1, b.end(), greater ());

    int cnt = 0;
    int bind = 1;
    double asum = 0;
    double bsum = 0;
    double ans = 0;
    for (int i = 1; i <= N; i++) {
        asum += a[i];
        cnt++;

        while (bsum < asum) {
            bsum += b[bind++], cnt++;
            ans = max (
                ans,
                min (
                    asum, bsum
                ) - cnt
            );
        }

        ans = max (
            ans,
            min (
                asum, bsum
            ) - cnt
        );
    }
    
    cout << fixed << setprecision (4) << ans << '\n';
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...