Submission #1233241

#TimeUsernameProblemLanguageResultExecution timeMemory
1233241chikien2009Sure Bet (CEOI17_sure)C++20
100 / 100
50 ms1864 KiB
#include <bits/stdc++.h>

using namespace std;

void setup()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
}

int n, l, r, m;
double a[100001], b[100001], res;

int main()
{
    setup();

    cin >> n;
    for (int i = 1; i <= n; ++i)
    {
        cin >> a[i] >> b[i];
        a[i] -= 1;
        b[i] -= 1;
    }
    sort(a + 1, a + 1 + n, greater<double>());
    sort(b + 1, b + 1 + n, greater<double>());
    for (int i = 1; i <= n; ++i)
    {
        a[i] += a[i - 1];
        b[i] += b[i - 1];
    }
    for (int i = 1; i <= n; ++i)
    {
        l = 1;
        r = n;
        while (l <= r)
        {
            m = (l + r) >> 1;
            res = max(res, min(a[i] - m, b[m] - i));
            if (a[i] - m > b[m] - i)
            {
                l = m + 1;
            }
            else
            {
                r = m - 1;
            }
        }
    }
    cout << fixed << setprecision(4) << res;
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...