This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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 time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |