제출 #299014

#제출 시각아이디문제언어결과실행 시간메모리
299014FarcevolSure Bet (CEOI17_sure)C++17
100 / 100
245 ms2044 KiB
#include <bits/stdc++.h>
//#pragma GCC optimize("O3")

using namespace std;

typedef long long ll;

int main()
{
    int N; cin >> N;
    vector<double> a(N);
    vector<double> b(N);
    for (int n = 0; n < N; ++n)
    {
        double av, bv; cin >> av >> bv;
        a[n] = av;
        b[n] = bv;
    }

    auto comp = [](const double& ta, const double& tb){return ta > tb;};
    sort(a.begin(), a.end(), comp);
    sort(b.begin(), b.end(), comp);

    int totalPicked = 0;
    int indexA = 0;
    int indexB = 0;
    double sumA = 0;
    double sumB = 0;
    double bestAnswer = 0.0;
    while (true)
    {
        if (sumA < sumB)
        {
            if (indexA >= (int)a.size()) break;
            sumA += a[indexA];
            indexA++;
        }
        else
        {
            if (indexB >= (int)b.size()) break;
            sumB += b[indexB];
            indexB++;
        }
        totalPicked++;
        bestAnswer = max(bestAnswer, min(sumA - totalPicked, sumB - totalPicked));
    }

    printf("%.4lf", (double)bestAnswer);
    
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...