Submission #118505

#TimeUsernameProblemLanguageResultExecution timeMemory
118505zubecSure Bet (CEOI17_sure)C++14
100 / 100
245 ms11536 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;

int n;

int main(){
    ios_base::sync_with_stdio(0);cin.tie(0);

    cin >> n;
    multiset<double> q1, q2;
    for (int i = 1; i <= n; i++){
        double a, b;
        cin >> a >> b;
        q1.insert(a);
        q2.insert(b);
    }
    ld mx = 0;
    ld sum1 = 0, sum2 = 0;
    while(1){
        if (q1.empty() && q2.empty())
            break;
        if (sum1 < sum2){
            if (q1.empty())
                break;
            double num = *prev(q1.end());
            q1.erase(prev(q1.end()));
            sum1 += num-1;
            --sum2;
        } else {
            if (q2.empty())
                break;
            double num = *prev(q2.end());
            q2.erase(prev(q2.end()));
            sum2 += num-1;
            --sum1;
        }
        mx = max(mx, min(sum1, sum2));
    }
    cout.precision(4);
    cout << fixed << mx;

}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...